2011-08-01 5 views
1

장고에서 '자기'manytomany 관계에 문제가 있습니다.django manytomany 관계 : 'tuple'객체에는 'all'속성이 없습니다.

내 모델 :

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' 

어떻게 수정해야하는지 잘 모릅니다. 질문은 특정 제품에 관련된 모든 제품을 얻는 방법입니까? 사전에 도움을 주셔서 감사합니다.

+0

repr (p) 및 repr (p.products)를 게시하십시오. – guettli

답변

4

EcomProduct 모델 정의에 programs이라는 선언 뒤에 쉼표가 있습니다. 그걸 튜플로 바꾼다. 튜플은 확실히 원하지 않는다.

+0

감사합니다. 바보 같은 실수입니다. 나는 해결책을 찾기 위해 몇 시간을 보냈다. – tulator

+0

감사합니다 너무 내 쉼표를 찾는 데 도움이됩니다 :) – Azd325