【发布时间】:2020-11-20 07:58:06
【问题描述】:
我的模型如下,
Class Bank(models.Model):
customers = models.ManyToManyField(Customer,'banks', through='bank_customer')
Class Customer(models.Model):
name = models.CharField(max_length=50)
Class Bank_customer(models.Model):
customer = models.ForeignKey(Customer,on_delete=models.CASCADE)
bank = models.ForeignKey(Bank,on_delete=models.CASCADE)
city = models.ForeignKey(City,on_delete=models.CASCADE)
Class City(models.Model):
name = models.CharField(max_length=100)
如何将Customer 对象添加到Bank?以下不起作用
bank.customers.add(customer)
这里的bank 和customer 是它们类的保存实例。这样做违反了not_null 对city ForeignKey 在Bank_customer 表中的约束。
【问题讨论】:
-
@iklinac 这个链接没有解释有多少 many_to_many 与直通模型一起工作。它只解释了简单的多对多关系。
-
@iklinac 谢谢,这确实解释了 add() 和 clear() 方法。但是,在 set() 方法中,它只允许通过类的集合使用相同的
through_fields。如何为列表中的每个相关对象使用具有唯一 through_fields 的 set()?
标签: python django many-to-many manytomanyfield manyrelatedmanager