DRF:如何在ModelSerializer.validate()中获取对象

2024-10-02 00:38:03 发布

您现在位置:Python中文网/ 问答频道 /正文

更新(未创建)时,我需要在ModelSerializer.validate()中获取当前对象

目前,我正在使用self._args[0]

class UserInfoSerializer(serializers.ModelSerializer):

    class Meta:
        model = UserInfo
        fields = ('id', 'Username')

    def validate(self, data):
        current_user = self._args[0]  # <--

它类似于ViewSet中的self.get_object()

我想知道是否有更好的方法来得到我想要的,有什么想法吗?谢谢


Tags: 对象selfidfieldsmodeldefusernameargs
1条回答
网友
1楼 · 发布于 2024-10-02 00:38:03

您可以使用.instance属性

例如:

class UserInfoSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserInfo
        fields = ('id', 'Username')

    def validate(self, data):
        instance = self.instance


# initialization
s = UserInfoSerializer(data={"foo": "bar"}, instance=model_instance)

相关问题 更多 >

    热门问题