次のようなモデルがあるとします。
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% を実行する一般的な検索ボックス、ブランドの選択肢からの選択、または列ごとの単純な昇順/降順などです。
フィルターと並べ替えがクエリセット ( ) で終了することはわかっていget_queryset
ますが、これにはテンプレートとビューコードで多くの特定の作業が必要ですが、これを支援するパッケージがいくつかあるはずだと思いますか?
誰か私に指示がありますか?