2010-01-23 48 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

相关问题