假设我有一个用户模型和这个模型
class modelEmployer(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
employer_image = models.ImageField(upload_to='images/', default='')
现在假设我有一个modelEmployer的实例,我想更新其中的用户对象的内容。我知道我可以做到这一点
instance.user.email = new value
instance.first_name = new value
instance.save()
我读过我们可以对查询集运行更新(即使它返回一个对象)。现在假设我有一个这样的词典
dict = {"first_name : "John","last_name" : "deer",....}
我该怎么做这样的事情 modelEmployer.object.filter(instance.user.email = dict [“email”])。update(只更新用户对象,因为我想直接使用字典来更新该字段的用户对象。有什么建议吗?
答案 0 :(得分:1)
您可以明确提及关系并执行此操作,
dict = {"user__first_name" : "John","user__last_name" : "deer",....}
在ORM中,按
进行操作modelEmployer.object.filter(instance.user.email=dict["email"]).update(**dict)
希望这能解决您的问题