簡體   English   中英

Django QuerySet對象沒有屬性'objects

[英]Django QuerySet object has no attribute 'objects

我在類別中顯示商品有問題。 (顯示產品,但是當我單擊類別(t恤)時,我在/ man / tshirt /'QuerySet'對象沒有屬性'objects時遇到了這個問題。

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})

urls.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])

list.html

{% 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 %}

你應該改變

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

products = products.filter(category=category)

簡而言之,您已經在objects級別查詢了數據,因此,在.objects.objects標識符不再是必需或有效的。

您可以在此處找到更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM