1
考慮兩個模型(忽略了明顯的邏輯問題):Django:從* related *模型自動保存OneToOneField?
class Owner(m.Model):
id = m.IntegerField(primary_key=True)
class Pet(m.Model):
owner = m.OneToOneField(Owner, related_name="pet", primary_key=True)
當創建一個新Owner
,是有可能有他們的.pet
自動保存?
目前,這是發生了什麼:
>>> o = Owner()
>>> o.pet = Pet()
>>> o.save()
>>> o.id
42
>>> o.pet.id
None
>>> o.pet.owner_id
None
>>> o.pet.owner == o
True
但我想(和期望?)那o.pet
將被保存在節省o
的過程。
注:
- 如果你要建議重寫
Owner.save
:應如何時的情況commit=False
處理? - 將
OneToOneField
從Pet
移動到Owner
是不受歡迎的,因爲這會導致數據庫架構不太合理。