Python Django-Rest-Framework更新了用户的数据创建

问题描述

假设我有2个模型,一个是User,另一个是Post。用户可以创建帖子。用户具有一个名为“ exp_pts”的字段作为IntegerField。当用户创建帖子时,这意味着增加30。

我假设我必须在PostSerializer中使用create()方法。这是我当前的帖子序列化程序(由于create()方法无法按预期运行,因此目前无法正常工作)

class PostSerializer(serializers.ModelSerializer):

    class Meta:
        model = Post
        fields = ('id','user','kingdom','post_type','file_path','title','description','created_at','updated_at')

    def to_representation(self,instance):
        data = super().to_representation(instance)
        data['user'] = SimpleUserSerializer(
            User.objects.get(pk=data['user'])).data
        data['kingdom'] = KingdomSerializer(
            Kingdom.objects.get(pk=data['kingdom'])).data
        return data

    # This is not yet working
    def create(self,validated_data):
        user = validated_data.pop('user')
        user.exp_pts += 30
        user.save()
        return user

执行上述操作的方法是什么?如果create()方法不够用,那么还有什么其他方法可以实现呢?任何帮助,不胜感激。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)