Django ManyToManyField 只能以一种方式工作
Django ManyToManyField that only works one way
我的模型设置如下:
class Product(models.Model):
related_products = models.ManyToManyField('self', blank=True, related_name='related_products')
如您所见,关系是针对自身的。现在,假设我的数据库中有 3 个产品:A、B、C。
B 的相关产品是 C。现在,如果我将 B 添加到 A 的相关产品中,则 B 的相关产品从 C 变为 A 和 C 。
我不想要这个,我只希望改变是单向的。如果我将 B 添加到 A 的相关产品中,那么 B 的相关产品将不会发生变化。希望这是清楚的。
我该怎么做?谢谢!
related_name='+'
使用这个。我想这会解决你的问题。
请参阅 related_name backword 关系的文档。
我的模型设置如下:
class Product(models.Model):
related_products = models.ManyToManyField('self', blank=True, related_name='related_products')
如您所见,关系是针对自身的。现在,假设我的数据库中有 3 个产品:A、B、C。
B 的相关产品是 C。现在,如果我将 B 添加到 A 的相关产品中,则 B 的相关产品从 C 变为 A 和 C 。
我不想要这个,我只希望改变是单向的。如果我将 B 添加到 A 的相关产品中,那么 B 的相关产品将不会发生变化。希望这是清楚的。
我该怎么做?谢谢!
related_name='+'
使用这个。我想这会解决你的问题。
请参阅 related_name backword 关系的文档。