我的问题是储蓄需要互相引用,而不是仅仅使用related_name
查找,比如这个新模型时:有没有什么办法可以保存相互引用两次的模型?
class Many:
owner = models.ForeignKey('One')
class One:
current = models.OneToOneField('Many')
默认情况下,这些有null=False
,请纠正我,如果我错了使用这些都是不可能的,直到我改变关系之一:
current = models.OneToOneField('Many', null=True)
的原因是因为,除非其已经救了你不能将模型分配给关系。否则会导致ValueError: 'Cannot assign "<...>": "..." instance isn't saved in the database.'
。
但现在当我创建一个对这些对象我需要保存两次:
many = Many()
one = One()
one.save()
many.owner = one
many.save()
one.current = many
one.save()
这是做正确的方式,或者是有围绕节能两次另一种方式?
什么是用例? – sobolevn
@sobolevn这篇文章有很多但只有一个当前的版本,或许多可能的slu but,但只有一个主要的版本。 – jozxyqk