Django Rest Framework kullanarak belirli bir model için toplu güncelleştirme görünümü oluşturmaya çalışıyorum. Kısa vadede, yalnızca bir alanı güncellemesi gerekiyor (bir davetiyeyi gönderilmekten = False - submit = True), ancak gelecekte daha fazla işlevsellik sunabilmeyi istiyorum. Ancak, görünümü test ettiğimde, değiştirilmekte olanın yerine yeni bir nesne oluşturuluyor. Bu benim açımdan basit bir hata olmalı gibiDjango Rest Framework toplu güncelleştirme güncelleştirmesi yerine güncelleştirme eklemek
Ben hissediyorum, ama neler olduğunu anlamaya olamaz. Serileştirici nesnesi, konuya katkıda bulunabilecek olan JSON üzerinden geçirilen "id" için değeri göz ardı ediyor gibi görünüyor. Mevcut kod şudur:
class InviteBulkUpdateView(generics.UpdateAPIView):
def get_queryset(self):
order = self.kwargs['order']
invite = get_objects_for_user(self.request.user, 'sourcing.view_invite')
return invite.filter(order=order)
serializer_class = InviteInputSerializer
def put(self, request, *args, **kwargs):
data = request.DATA
serializer = InviteInputSerializer(data=data, many=True)
if serializer.is_valid():
serializer.save()
return Response(status=status.HTTP_200_OK)
else:
return Response(status=status.HTTP_400_BAD_REQUEST)
class InviteInputSerializer(serializers.ModelSerializer):
class Meta:
model = Invite
fields = ('id', 'order', 'team', 'submitted')
Yanlış yaptığım şey hakkında biraz ışık tutabilir mi?
Sen haklıydın; eksik olan parça queryset'i kuruyordu. Bir önceki denemeden ne değiştiğimi bilmiyorum, ama yazmadan önce bir sorgulamada geçmeyi denedim ve serializer.save() öğesinin bir öznitelik olmadığını söyleyen bir hata aldım, bu yüzden bu sorunun neden olduğunu düşündüm. Çalıştı, teşekkürler! – user2708386