这是我的模特:
class Store_product(models.Model):
breakdown_lst = models.ManyToManyField('self',symmetrical=False,through='Kit_breakdown_assoc',related_name='kit_lst')
class Kit_breakdown_assoc(models.Model):
kit = models.ForeignKey(Store_product,related_name='breakdown_assoc_lst')
breakdown = models.ForeignKey(Store_product,related_name='kit_assoc_lst')
qty = models.IntegerField()
我想做的是:
sp = Store_product.objects.get(pk=sp_id)
sp.kit_breakdown_assoc_set.all() --> error: 'Store_product' object has no attribute 'kit_breakdown_assoc_set'
Django文件提到了一条规则'那个m2m与一个' self'不会将xxx_set属性添加到类中。我认为我的案例只是这个规则的一个特例'因为它有一个中间模型。我发现不能访问我的相关经理是不方便的。我是否会遗漏某些内容或者可以实施此功能?
答案 0 :(得分:0)
问题是,由于您已正确指定了相关名称breakdown_assoc_lst
,sp.kit_breakdown_assoc_set
无法访问您的中间模型管理员,而sp.breakdown_assoc_lst
无法访问您的中间模型管理器用相关名称指定。