考虑两个模型(忽略明显的逻辑问题):
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? - 将
OneToOneFieldfrom移动到PettoOwner是不可取的,因为它会导致不太明智的数据库模式。