今天早上我遇到了一個奇怪的bug,如果有人能向我解釋爲什麼這會失敗,那就太好了。Django foreignkey在使用對象實例時未設置
讓說,我有兩個非常簡單的模型:
class MoMo(models.Model):
pass
class Objo(models.Model):
hef_k = models.ForeignKey(MoMo, null=True, blank=True)
當我嘗試創建其中之一然後添加一個外鍵是這樣的:
from foreing_save import models
obj = models.Objo()
obj.save()
obj.hef_k = models.MoMo()
obj.hef_k.save()
obj.save()
的obj.hef_k接縫存在:
obj.hef_k
Out[9]: <MoMo: MoMo object>
但只要我從數據庫刷新或者乾脆把它再次就不見了:
obj.refresh_from_db()
In [12]: obj.hef_k
In [13]:
obj = Objo.objects.get(pk=obj.pk)
obj.hef_k
in [14]:
我想念什麼嗎?它接縫奇怪,我和任何幫助,將不勝感激
您需要先創建模型MoMo,因爲現在它不存在ind DB,什麼都看不到。 – Thaian
您保存了外部hef_k對象,但沒有保存obj本身,所以它不保留新的修改,您需要添加obj.save() – lapinkoira