2011-08-01 77 views
1

我心中已經有問題在Django「自我」多對多關係:在views.pyDjango的多對多關係:「元組」對象有沒有屬性「所有」

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' 

現在:

我的模型我需要獲得與特定產品的所有產品:

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' 

我不知道如何解決它。問題是如何將特定產品的所有相關產品? 感謝您的幫助。

+0

請回復(p)和repr(p.products) – guettli

回答

4

在您的EcomProduct模型定義中聲明programs後有逗號。這將它變成一個元組,你當然不想要。

+0

非常感謝,多麼愚蠢的錯誤。我花了幾個小時找到解決方案。 – tulator

+0

謝謝你也幫我找到我的逗號:) – Azd325

相關問題