我有三个模特:
class Model1:
...
class Model2:
...
m1 = ForeignKey(Model1)
var2 = ....
class Model3:
...
m2 = ForeignKey(Model2)
var3
我正在尝试更新Model3:
Model1.objects.get(...).model2_set.filter(....).update(... How to update all model3_set__var3? ....???)
发布于 2015-05-27 08:08:07
你可以利用关系:
Model3.objects.filter(m2__m2var=1, m2__m1__m1val=1).update(...)
__
用于关系,您可以为表连接使用外键连接,这样就可以通过m2__<m2_field>
筛选Model2
上的字段,并在Model1
上使用m2__m1__<m1_field>
筛选字段。
发布于 2015-05-27 07:59:25
你可以试试:
Model3.objects.filter(model1__id=x).update(var3=y)
我希望Django能够自动处理关系,尽管我还没有在第二层关系中测试过这一点。
更多关于Django文档:跨越关系的查找的信息
https://stackoverflow.com/questions/30473738
复制相似问题