假设我有一个这样的模型:
class Car(models.Model):
BRANDS = (
('FRD', 'Ford'),
('MCD', 'Mercedes'),
...
)
brand = models.CharField(max_length=3, choices=BRANDS)
color = models.CharField(max_length=24)
url = models.URLField()
new = models.BooleanField(default=False)
并希望使用基于类的通用视图生成列表视图:
在urls.py
url(r'^car/list/$', CarList.as_view(), name='car_list'),
在views.py
中class CarList(ListView):
model = Car
template_name = "list.html"
def get_queryset(self):
return Car.objects.all()
在list.html中
{% for car in cars %}
<tr>
<td>{{ car.brand }}</td>
<td>{{ car.color }}</td>
<td>{{ car.url }}</td>
<td>{{ car.new }}</td>
</tr>
现在我想提供一些选项来在查询集上添加过滤器(以及每列的排序选项)。例如,在任何列上执行%LIKE%的常规搜索框,或从品牌选择中选择或在每列中执行简单的asc / desc。
我知道过滤器和排序最终会出现在查询集(get_queryset
)中,但这需要在模板和视图代码中进行大量的特定工作,而我觉得应该有一些软件包可以帮助解决这个问题?
有没有人有我的指示?
答案 0 :(得分:0)
Django Packages是一个值得寻找的好地方,你猜对了,Django打包:-)。我之前没有使用它,但从快速查看,您可能会发现django-tables2有用。我猜其他人也值得考虑。