gpt4 book ai didi

django:在保存目标模型之前分配外键

转载 作者:行者123 更新时间:2023-12-04 01:08:30 27 4
gpt4 key购买 nike

假设 AB是 django 模型,其中 A有一个外键字段到 B :

a = A()
b = B()
a.my_b = b
b.save()
a.save()

出人意料的 a保存为 nullmy_b外键字段。如果您检查 a.my_b在保存之前或之后,它确实引用了 b例如,django 似乎在 a.my_b = b 上评估外键 ID 本身。分配而不是在 a.save() .在复杂的系统和流程中,可能很难更改命令的顺序,因此只需保存 b在将其分配给 a 之前可能不切实际...

添加令人难以置信的声明 a.my_b=a.my_b保存命令之间有效,但在我看来是一个可怕的解决方法。

有没有办法配置 django 在保存模型实例时重新评估外键?

是否有不同的方法可以解决这个问题?

最佳答案

有一个 Django 票证描述了这个问题,#8892 .

与此同时,没有改变行为的配置设置。您必须更改保存和分配操作的顺序,或者进行额外的分配。

关于django:在保存目标模型之前分配外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com