重新组合内置返回无

时间:2016-06-28 17:10:32

标签: django django-templates

我需要帮助根据他们的类型在我的模型中显示汽车。 所有的车都有它们的类型,例如SUV,PICKUP等。 汽车应按类别显示,   所以在创建过程中所有类型都设置为SUV的车都应该在SUV下显示。 我看到内置的重新组合可以做到这一点,也检查了这个 SO post但仍然无法解决我的错误。

models.py

class CarType(models.Model):

    type = models.CharField(max_length=200)

    def __str__(self):
        return self.type

class Car(models.Model):
    name = models.CharField(max_length=30, null=False)
    image = models.ImageField(upload_to="media")
    type = models.ForeignKey(CarType)

views.py ```     class CarListView(ListView):         model = Car         queryset = Car.objects.all()         context_object_name =' cars'  urls.py

 url(r'^', CarListView.as_view(), name='cars_list'), 

模板



 {% regroup cars by car.type as cars_by_type %}

<ul>
{% for car in cars_by_type %}
    <li><h3 class="header">{{car.grouper}}</h3>
    </h1>
    <ul>
        {% for item in cars_by_type.list %}
          <li>{{ item.name }}</li>
          <li>{{ item.price }}</li>
          <li>{{ item.fuel_type }}</li>
        {% endfor %}
    </ul>
    </li>
 {% endfor %}
</ul>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

我相信您拨打regroup时遇到一个小错误:您不需要cars.type,只需type。 Django期望“by”参数是“car”的属性并为您查找。

此更改将如下所示:

 {% regroup cars by type as cars_by_type %}