gpt4 book ai didi

Django:将过滤(和排序)添加到基于(通用)类的 ListView 的最佳方法?

转载 作者:行者123 更新时间:2023-12-04 16:11:58 25 4
gpt4 key购买 nike

假设我有一个这样的模型:

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)

并想使用基于类的通用 View 生成 ListView :

在 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 )中,但这需要在模板和 View 代码中进行大量特定工作,而我觉得应该有一些包可以帮助实现这一点?

有人给我指路吗?

最佳答案

Django Packages是一个寻找的好地方,你猜对了,Django 包 :-)。我以前没用过,但快速浏览一下你可能会发现 django-tables2有帮助。我想还有其他值得考虑的。

关于Django:将过滤(和排序)添加到基于(通用)类的 ListView 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com