2017-02-05 38 views
2

カテゴリ内のshow製品に問題があります。 (製品がショーですが、私は、カテゴリ(Tシャツ)をクリックしたときに私は男/ Tシャツ/ /で、この問題はAttributeErrorを持っている「クエリセット」オブジェクト「には属性を持っていないDjango QuerySetオブジェクトには属性 'オブジェクトがありません

views.py

def product_list(request, category_slug=None): 
    category = None 
    categories = Category.objects.all() 
    products = Product.objects.filter(section='man', available=True) 
    if category_slug: 
     category = get_object_or_404(Category, slug=category_slug) 
     products = products.objects.filter(category=category) 
    return render(request, 
        'shop/product/list.html', 
        {'category': category, 
        'categories': categories, 
        'products': products}) 

URLをオブジェクト。するlist.html PY

urlpatterns = [ 
    url(r'^$', views.main, name='main'), 
    url(r'^man/$', views.product_list, name='product_list'), 
    url(r'^man/(?P<category_slug>[-\w]+)/$', 
     views.product_list, 
     name='product_list_by_category'), 


] 

models.py

class Category(models.Model): 
    name = models.CharField(max_length=200, 
          db_index=True) 
    slug = models.SlugField(max_length=200, 
          db_index=True) 

    class Meta: 
     ordering = ('name',) 
     verbose_name = 'category' 
     verbose_name_plural = 'categories' 

    def __str__(self): 
     return self.name 

    def get_absolute_url(self): 
     return reverse('shop:product_list_by_category', 
         args=[self.slug]) 
{% extends "shop/base.html" %} 
{% load static %} 

{% block title %}VPW{% endblock %} 

{% block content %} 
<ul> 
    {% for c in categories %} 
    <li> 
     <a href="{{ c.get_absolute_url }}">{{c.name}}</a> 
    </li> 
    {% endfor %} 
</ul> 

    {% for product in products %} 
    {{ product.name }} 
    {% endfor %} 
{% endblock %} 

答えて

3

あなたは要するに

products = products.filter(category=category) 

products = products.objects.filter(category=category) 

を変更する必要があり、あなたはすでにobjectsレベルでデータを照会してきた、これ.objects識別子は、必要または有効ではなくなりましたコードのこの点。

詳細情報hereがあります。

関連する問題