相关疑难解决方法(0)

Django Rest Framework更新字段

我是DRF的新手,我正在尝试编写自定义视图/序列化程序,我可以使用它来更新用户对象的一个​​字段.

我需要制作逻辑只是为了更新用户的"名称".

我写了序列化器:

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
Run Code Online (Sandbox Code Playgroud)

永远不会调用此方法.我尝试在那里设置断点并调试它,但它永远不会被调用,即使我使用PUT,POST或PATCH方法.如果我添加create方法,则在使用POST时会调用它.

这就是我的观点:

class UpdateName(generics.CreateAPIView):
    queryset = ClientUser.objects.all()
    serializer_class = ClientNameSerializer
    permission_classes = (permissions.IsAuthenticated,)
Run Code Online (Sandbox Code Playgroud)

有人有什么建议吗?谢谢!

我的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)
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

31
推荐指数
3
解决办法
4万
查看次数

标签 统计

django ×1

django-rest-framework ×1