Jon*_*han 12 django foreign-keys
假设A并且B是django模型,其中A有一个外键字段B:
a = A()
b = B()
a.my_b = b
b.save()
a.save()
Run Code Online (Sandbox Code Playgroud)
令人惊讶的a是保存null在my_b国外的重点领域.如果你a.my_b在保存之前或之后检查它确实引用了b实例,但似乎django在a.my_b = b赋值时评估外键id本身,而不是a.save().在复杂的系统和流程中,可能很难改变命令的顺序,因此b在分配命令之前简单地保存a可能是不切实际的......
a.my_b=a.my_b在save命令之间添加令人难以置信的语句有效,但在我看来是一个可怕的解决方法.
有没有办法配置django在保存模型实例时重新计算外键?
是否有可能解决此问题的不同方法?
有一个描述这个问题的Django票,#8892.
与此同时,没有更改行为的配置设置.您必须更改保存和分配操作的顺序,或执行额外的分配.
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |