2010-01-23 35 views
0

我有一個模型,它是這樣的:在這種情況下Django:ForeignKey()或ManyToMany()?或其他?

class ReturnAuthorization(models.Model): 
    custom_id = models.CharField(max_length=40) 

class RMAAPILog(models.Model): 
    return_authorization = models.ForeignKey(ReturnAuthorization) 

如果我刪除()退貨授權,我不能把它刪除所有涉及到它的RMAAPILog()s。在這種情況下,它們會被刪除。可能會有很多嘗試從外部API獲取RMA(很多RMAAPILog() s每ReturnAuthorization(),但每個RMAAPILog()只能有一個ReturnAuthorization(),當然是因爲它是一個嘗試授權特定ReturnAuthorization()的日誌。什麼是更好的方式來做到這一點,還是我想這一切錯

回答

1
+0

哎呀,這是不對的職位是有相反的問題一個人他有一個模型,他需要這個級聯,但它不工作,我需要相反的效果,我需要刪除父母沒有被刪除的孩子 – orokusaki 2010-01-23 15:45:47

+0

對不起,我不知道如果匹配或不。其中一個答案適用於?「Django的Foreig nKey管理器有一個名爲clear()的方法,用於從相關對象集中移除所有對象。首先調用,然後刪除你的對象應該工作。「 - http://stackoverflow.com/questions/1006135/how-do-i-create-a-django-model-with-foreignkeys-which-does-not-cascade -deletes-to/1007778#1007778 – Tom 2010-01-23 16:07:29

+0

http://code.djangoproject.com/ticket/7539中有一個補丁,用於添加對模型中控制ON DELETE行爲的支持。 – Tom 2010-01-23 16:48:38

相關問題