मैं डीआरएफ के लिए नया हूं और मैं कस्टम व्यू/सीरिएलाइज़र लिखने की कोशिश कर रहा हूं जिसका उपयोग मैं उपयोगकर्ता ऑब्जेक्ट के केवल एक फ़ील्ड को अपडेट करने के लिए कर सकता हूं।Django Rest Framework अद्यतन फ़ील्ड
मुझे उपयोगकर्ता के "नाम" को अपडेट करने के लिए तर्क बनाने की आवश्यकता है।
class ClientNameSerializer(serializers.ModelSerializer):
class Meta:
model = ClientUser
fields = ('name',)
def update(self, instance, validated_data):
instance.name = validated_data.get('name', instance.name)
instance.save()
return instance
इस विधि कभी नहीं कहा जाता है:
मैं serializer लिखा था। मैंने वहां ब्रेकपॉइंट सेट करने और इसे डीबग करने की कोशिश की, लेकिन इसे कभी भी नहीं कहा जाता है, भले ही मैं पुट, पोस्ट या पैच विधियों का उपयोग करता हूं। यदि मैं विधि जोड़ता हूं तो जब मैं POST का उपयोग करता हूं तो इसे कॉल किया जा रहा है।
class UpdateName(generics.CreateAPIView):
queryset = ClientUser.objects.all()
serializer_class = ClientNameSerializer
permission_classes = (permissions.IsAuthenticated,)
किसी को कुछ सुझाव है:
इस तरह मेरे विचार की तरह लग रहा है? धन्यवाद!
मेरे models.py की तरह इस
class ClientUser(models.Model):
owner = models.OneToOneField(User,unique=True,primary_key=True)
phone_number = models.CharField(validators=[PHONE_REGEX],max_length=20,unique=True)
name = models.CharField(max_length=100,blank=True)
status = models.IntegerField(default=1)
member_from = models.DateTimeField('member from',auto_now_add=True)
is_member = models.BooleanField(default=False)
क्या आप 'models.py' के लिए भी कोड जोड़ सकते हैं। –
@RahulGupta मैंने अपना मॉडल जोड़ा। धन्यवाद! – bla0009