django - 如何使用序列化程序更新功能更新两个模型
问题描述
我的项目中有教师和对话模型,以及一个速率函数,它是一个以教师 ID 和速率作为输入的 POST API。教师有电话字段作为 ID。当调用 rate 函数时,teacher 的 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
解决方案
推荐阅读
- java - java中的Jax-ws将返回标签更改为结果
- bitmap - 如何在 Rider 调试会话中预览位图?
- python - 从字典、嵌套字典、列表中获取键并检查它出现的次数
- lua - 如何为乒乓球游戏添加边框,以便球从 Lua 上的黑线反弹
- r - 如何将 GitHub 中的 png 加载到 R 中?
- r - 生成重复并将矩阵转换为df
- java - 如何停止强制子类实现父构造函数
- c# - IIS 上托管的 Asp.Net Core 中间件响应重定向 URL 不完整
- amazon-web-services - Kubectl 命令给出连续的连接错误
- c# - 在(隔离的)Azure 函数中运行用户制作的 C# 代码是否安全?