我的项目中有教师模型和会话模型,还有一个汇率函数,该函数是一个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