6

次のようなモデルがあるとします。

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ますが、これにはテンプレートとビューコードで多くの特定の作業が必要ですが、これを支援するパッケージがいくつかあるはずだと思いますか?

誰か私に指示がありますか?

4

1 に答える 1

0

Djangoパッケージは、お察しのとおり、Djangoパッケージを探すのに適した場所です:-)。私はこれまで使用したことがありませんが、簡単に見てみるとdjango-tables2が役立つかもしれません。他にも検討する価値のあるものがあると思います。

于 2012-08-06T04:44:47.187 に答える