我正在使用两个模型之间的一对一关系,我需要能够清除这种关系。但是,我找不到清除(清除(),删除()等)的方法来删除该关系,并且Django管理员将不执行该操作。有没有人有这个问题的经验?我想我可能不得不跳过一对一的领域,并在场上使用一对多的unique = true。如何在Django模型中清除一对一的关系?
编辑:我应该提到。我确实在场上设置了null = True,但这没有什么区别。
我正在使用两个模型之间的一对一关系,我需要能够清除这种关系。但是,我找不到清除(清除(),删除()等)的方法来删除该关系,并且Django管理员将不执行该操作。有没有人有这个问题的经验?我想我可能不得不跳过一对一的领域,并在场上使用一对多的unique = true。如何在Django模型中清除一对一的关系?
编辑:我应该提到。我确实在场上设置了null = True,但这没有什么区别。
只是将其设置为无,并保存:-)
my_instance.my_one_to_one_fieldname = None
my_instance.save()
编辑:顺便说一句,这只适用于您定义OneToOneField
的模型。我不知道你将如何去向后这样做,除了:
my_related_instance.othermodel.my_one_to_one_fieldname = None
my_related_instance.othermodel.save()
但是,这只是一样做:
my_instance = my_related_instance.othermodel
,然后继续像第一个例子。
如果该字段指定null=True
你应该能够做一个Instance.<foreignmodel>_set.clear()
我可能会关闭这个..
雅,我做了,我应该提到它。这没有什么区别。你也不会像对象一样设置(Instance。 _set)以引用一对一的关系。 –
stinkypyper
2010-01-04 19:51:35