我需要在一个请求中更新许多文章中的分类。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]]
}
mixins.CreateModelMixin
还是mixins.UpdateModelMixin
? - pelcompplArticleViewSet
中做任何更改吗?只改变序列化程序就足够了吗? - pelcomppl