1

Django の「自己」多対多関係に問題があります。

私のモデル:

class EcomProduct(models.Model):
    products = models.ManyToManyField('self', through='EcomProductToProduct', symmetrical=False),


class EcomProductToProduct(models.Model):
    from_ecom_product = models.ForeignKey(EcomProduct,related_name='from_ecomproduct')
    to_ecom_product = models.ForeignKey(EcomProduct,related_name='to_ecomproduct')
    class Meta:
        db_table = u'ecom_product_to_product'

次に、views.py で、特定の製品に関連するすべての製品を取得する必要があります。

def show_product(request, ecomproduct_slug, template_name="catalog/product.html"):
     p = get_object_or_404(EcomProduct, slug=ecomproduct_slug)
     related_products_to_product = p.products.all() #it doesn't work     

そして、私はメッセージを受け取ります:

Exception Value: 'tuple' object has no attribute 'all'

修正方法がわかりません。質問は、特定の製品に関連するすべての製品を取得する方法です。事前に助けてくれてありがとう。

4

1 に答える 1

5

モデル定義の宣言の後にコンマがありprogramsます。EcomProductそれはタプルに変わりますが、これは確かに望ましくありません。

于 2011-08-01T15:17:15.713 に答える