我正在使用兩個模型之間的一對一關係,我需要能夠清除這種關係。但是,我找不到清除(清除(),刪除()等)的方法來刪除該關係,並且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