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 关系的文档。