如何使用序列化程序更新功能更新两个模型

时间:2018-12-16 16:43:45

标签: django django-serializer

我的项目中有教师模型和会话模型,还有一个汇率函数,该函数是一个POST API,输入的是TeacherId和rate。教师将电话字段作为ID。调用rate函数时,教师的rate和raters字段以及对话的isRated字段必须更改。
如何在一个序列化器中更新两个模型?

这是我的会话模型:

class Conversation(models.Model):
   isRated = models.BooleanField(null=False, default=False)

这是我的老师模型:

class TeacherUsers(models.Model):
     phone = models.IntegerField(unique=True, null=False, default=0)
     rate = models.FloatField(null=True, default=0)
     raters = models.IntegerField(unique=True, null=False, default=0)

和仅更新教师费率的序列化器:

class RateSerializer(serializers.Serializer):
    teacherId = serializers.IntegerField(required=True)
    rate = serializers.IntegerField(required=False)

    def update(self, instance, validated_data):
        instance.rate = validated_data['rate']
        instance.raters = validated_data['raters']
        instance.save()
        return instance

0 个答案:

没有答案