今回のお題
今回はdjangoアプリのordering
という属性値について取り上げます。
orderingとは
そのモデルのインスタンスを並べる際の順番を決めるための属性値。
order_by
メソッドと同じく、属性値と+-
の組み合わせで並び順を指定する。
具体例
ordering
はclass Meta
の中で指定します。
class CustomUser(AbstrctUser):
shop = models.ForeignKey("shop.Shop", on_delete=models.CASCASE)
user_type = models.IntegerField(
choices = [
(1, "スタッフ"),
(2, "責任者"),
(3, "本社管理職"),
]
)
class Meta:
ordering = ["shop", "-user_type"]
上記の例であれば、まずshop
という属性値が昇順になるようにグループを作った後にその中でuser_type
が降順になるように並べます。
また、並び替えの基準にする属性値が一つの場合であっても必ずリスト形式にする必要があるので注意してください。