Django:本例中是ForeignKey()还是ManyToMany()?或者,其他?
我有一个这样的模型:Django:本例中是ForeignKey()还是ManyToMany()?或者,其他?,django,design-patterns,database-design,Django,Design Patterns,Database Design,我有一个这样的模型: class ReturnAuthorization(models.Model): custom_id = models.CharField(max_length=40) class RMAAPILog(models.Model): return_authorization = models.ForeignKey(ReturnAuthorization) 如果我要delete()一个返回授权,我不能让它删除所有与其相关的RMAAPILog()。在这种情况下
class ReturnAuthorization(models.Model):
custom_id = models.CharField(max_length=40)
class RMAAPILog(models.Model):
return_authorization = models.ForeignKey(ReturnAuthorization)
如果我要delete()一个返回授权,我不能让它删除所有与其相关的
RMAAPILog()
。在这种情况下,它们会被删除。可以多次尝试从外部API获取RMA(每个ReturnAuthorization()
都有很多RMAPILOG()
s),但每个RMAPILOG()当然只能有一个ReturnAuthorization(),因为它是授权特定ReturnAuthorization()的尝试日志
。做这件事最好的方法是什么,还是我想的全错了?相关的问题:哦,那不对。那篇文章是关于一个家伙有相反的问题。他有一个模型,他需要这个级联,但它不起作用。我需要相反的效果。我需要删除父对象,而不删除子对象。抱歉,我无法判断这是否匹配。但其中一个答案不适用吗?“Django的ForeignKey管理器有一个名为clear()的方法,可以从相关对象集中删除所有对象。先调用该方法,然后删除对象应该会起作用。”-中有一个补丁,用于添加对模型中控制删除行为的支持。很好,我正在寻找该补丁。谢谢。