에서 여러 레코드를 업데이트하는 나는 하나 개의 요청에 많은 Article
에 categories
을 업데이트해야합니다. ArticleViewSet
에서어떻게 한 번 (대량 업데이트) 장고 API
나는이 :
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'
내가 추가하려고 :이 작업을 doen't
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]]
}
사용을 찾을 수 있습니다 업데이트로 변경된다 믹스를 만들려면 –
보기에서 create mixins.CreateModelMixin을 사용하고 Serializers에서 Create 메서드를 재정의합니다. 또는 당신은 get_queryset에서 업데이트 작업을 할 수 있지만 그건 나쁜 생각 일 것입니다. –
@AnupYadav 예제 코드를 어떻게 할 수 있습니까? 나는 djnago에 새로운 사람입니다. 나는'mixins.CreateModelMixin' 또는'mixins.UpdateModelMixin'을 사용해야하므로 레코드를 업데이트해야합니까? – pelcomppl