आपको अपने धारावाहिक में एक छोटे से संपादन की आवश्यकता है:
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
def save(self):
user = self.context['request'].user
title = self.validated_data['title']
article = self.validated_data['article']
यहाँ एक उदाहरण है, मॉडल मिक्सिंग व्यूसेट का उपयोग। में create
विधि आप serializer बुलाने की उचित तरीके से पा सकते हैं। get_serializer विधि संदर्भ शब्दकोश को ठीक से भरती है। यदि आपको एक अलग धारावाहिक का उपयोग करने की आवश्यकता है, तो विचार पर परिभाषित किया गया है, update
संदर्भ शब्दकोश के साथ धारावाहिक को आरंभ करने के तरीके को देखें , जो कि धारावाहिक के लिए अनुरोध ऑब्जेक्ट भी पास करता है।
class SignupViewSet(mixins.UpdateModelMixin, mixins.CreateModelMixin, viewsets.GenericViewSet):
http_method_names = ["put", "post"]
serializer_class = PostSerializer
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False)
instance = self.get_object()
kwargs['context'] = self.get_serializer_context()
serializer = PostSerializer(instance, data=request.data, partial=partial, **kwargs)
serializer.is_valid(raise_exception=True)
self.perform_update(serializer)
return Response(serializer.data)
CurrentUserDefault
बिल्कुल F django-rest-framework.org/api-guide/validators/…