8

ジャンゴのチュートリアルから

 was_published_recently.admin_order_field = 'pub_date'

この声明は実際に何をしているのですか?

4

1 に答える 1

12

これは、django の管理セクションを参照しています。

モデルに対応する管理セクションでは、各モデルには と呼ばれるプロパティがあり、list_display管理の変更リスト (すべてのオブジェクトのリスト表示) ページに表示されるフィールドを制御します。

のデフォルトのソート順を変更したい場合はwas_published_recently、属性list_displayを設定することで変更できます。admin_order_field

したがって、例では:

class Poll(models.Model):
    # ...
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    was_published_recently.short_description = 'Published recently?'

というカスタム列を追加し、列の「並べ替え」オプションがクリックされたときwas_published_recentlyにデータベース フィールドになる並べ替え順序を指定します。pub_datewas_published_recently

このリンクadmin_order_fieldに関連する情報まで下にスクロールすると、これをよりよく理解できます

于 2013-09-06T14:31:42.133 に答える