was_published_recently.admin_order_field = 'pub_date'
この声明は実際に何をしているのですか?
これは、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_date
was_published_recently
このリンクadmin_order_field
に関連する情報まで下にスクロールすると、これをよりよく理解できます