0

これは私のモデルです:

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 ドキュメントには、「self」を含む m2m が xxx_set 属性をクラスに追加しないという「ルール」が記載されています。私のケースは、中間モデルがあるため、この「ルール」の特殊なケースにすぎないと思います。スルー関連マネージャーにアクセスできないのは不便です。何か見逃していますか、それともこの機能を実装できますか?

4

1 に答える 1

0

問題は、関連名 を正しく指定したため、中間モデル マネージャが ではなく、関連名で指定した によってbreakdown_assoc_lstアクセスされることです。sp.kit_breakdown_assoc_setsp.breakdown_assoc_lst

于 2014-10-31T18:27:17.227 に答える