我需要在一个请求categories
中进行多次更新Article
。
在ArticleViewSet
我有:
def get_serializer_class(self):
if self.action in ['partial_update', 'update']:
return ArticlePostSerializer
return ArticleSerializer
因此ArticlePostSerializer
需要进行更改。
这是我的序列化器代码:
class ArticleShortCategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = 'id', 'name'
class ArticleSerializer(serializers.ModelSerializer):
categories = serializers.SerializerMethodField()
def get_categories(self, obj):
return ArticleShortCategorySerializer(obj.categories, many=True).data
class Meta:
model = Article
read_only_fields = 'id'
fields = ('categories', 'text') + read_only_fields
class ArticlePostSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = 'id', 'categories', 'text'
我试图添加:
class ArticlePostListSerializer(serializers.ListSerializer):
和
class Meta:
list_serializer_class = ArticlePostListSerializer
但这不起作用。如何更改此代码以进行多次更新。我的json请求
{
[id: 90, categories: [10,12,14]],
[id: 93, categories: [10,12,14]],
[id: 95, categories: [10,12,14]]
}
这是您请求的CreateMixins或UpdateMixins的示例。
======================查看========================== ======
class OrderCreate(mixins.CreateModelMixin,viewsets.GenericViewSet):
pagination_class = None
def get_queryset(self):
return []
def get_serializer_class(self):
return serializers.OrderSerializer
=======================序列化器=========================== ===
class OrderDetailSerializer(serializers.ModelSerializer):
class Meta:
model = crm_models.OrderDetail
fields = (
'product',
'quantity',
'rate_per_unit',
'order_quantity'
)
class OrderSerializer(serializers.ModelSerializer):
order_details = OrderDetailSerializer(many = True)
class Meta:
model = crm_models.OrderMaster
fields = (
'order',
'invoice_number',
'client',
'beat_check',
'target_customer',
'order_editor_client_employee',
'order_marked',
'order_saved',
'edit_marked',
'edit_saved',
'adhoc',
'order_details'
)
def create(self, validated_data,*args,**kwargs):
ordersdetails_data = validated_data.pop('order_details')
user = None
request = self.context.get("request")
if request and hasattr(request, "user"):
user = request.user
validated_data['client'] = user.client
validated_data['order_editor_client_employee'] = user
validated_data['adhoc'] = validated_data['adhoc'] if 'adhoc' in validated_data else False
orderObj = super(OrderSerializer, self).create(validated_data,*args,**kwargs)
orderdetails = []
for details in ordersdetails_data:
orderdetails.append(crm_models.OrderDetail(
product= details['product'],
quantity = details['quantity'],
rate_per_unit = details['rate_per_unit'],
order_quantity = details['order_quantity'],
order = orderObj
))
crm_models.OrderDetail.objects.bulk_create(orderdetails)
return orderObj
在“更新视图”功能名称将被更改为“更新”的情况下,您可以找到更多文档 http://www.django-rest-
framework.org/api-guide/generic-views/#createmodelmixin
我想更新值。如何在查询生成器中执行此操作?
我想更新postgres表的一列。记录大约有5500万条,所以我们需要在10000条记录中更新它。注意:我们要更新所有行。但我们不想锁桌子。 我正在尝试以下查询- 我们如何为每10000条记录更新做一个循环? 如有任何建议和帮助,将不胜感激。 PostgreSQL 10.5
我知道以前有人问过这个问题,我已经阅读了很多答案,现在正在研究其中一个答案,但是我需要以下代码的帮助。 我在执行时没有收到任何错误,也没有任何内容提交到mysql表,如果你发现了什么,请告诉我,或者如果有更好的方法,请你给我指一个教程,我还没有太多的PDO或多行更新。 提前谢谢。 致山姆: 产出为:
我在另一个表(如ac)中有大约88k条记录。我想将表ac的一列更新到主表(如tbl)中。Eg-Table tbl示例记录,如 col1 col2 col3 col4 表ac中的样本记录如下 col1 col3` 如何从ac表更新tbl值。使记录看起来像 col1 col2 col3 col4
我正在使用DynamoDB,我需要更新多条记录上的特定属性。用伪语言编写我的需求时,我希望执行这样一个更新:“update table persons set relationshipStatus='where personKey in(key1,key2,key3,...)”(假设personKey是DynamoDB表中的键)。 换句话说,我想用一个In子句进行更新,或者我想可以称之为批处理更新
问题内容: 我试图: 根据搜索条件查找文档, 如果找到,请更新一些属性 如果没有插入带有某些属性的文档。 我正在使用,因为我也在执行单个插入操作。我想在一次操作中完成所有操作。 但是,它什么都不会导致为更新/向上插入操作插入任何内容。 这是插入文档: 这是最新资料: 这就是我试图更新/更新的方式: 为什么不更新/更新呢? 注意 那是使用水线ORM的JS代码,它也使用mongodb本机驱动程序。 问