1. TOP
  2. ブログ
  3. Django SQL データベース フィールド名に別名つける F()式

Django SQL データベース フィールド名に別名つける F()式

更新日:2018年9月21日

Djangoで、データベースのデータを取得して、テンプレートなどでフィールド名を使用する場合、他とあわせるために別名にしたい場合があります。 F()式を使用してフィールド名に別名をつける方法を記載します。

環境:Python3.6.5 Django2.1

F()式を使用してフィールド名に別名つける

記載例
views.py

from django.db.models import F

company = Company.objects.annotate(chairs_needed=F('num_chairs'))

上記の記載で、Companyモデルのフィールド【num_chairs】に別名【chairs_needed】をつけて
テンプレートファイルなどで chairs_needed でデータを使用する事ができます。


他にF()式を使用する例として、使用しているDBによってNULLのソート順の最初か最後かを変更したい場合、
nulls_last=Trueまたはnulls_first=Trueで変更できます。

記載例
views.py

from django.db.models import F

Company.object.order_by(F('last_contacted').desc(nulls_last=True))

その他 F()式について、詳細は公式ドキュメントに記載されています。

公式ドキュメントの説明クエリー式

以上。


B!

前の記事:Django SQL データベース INSERT UPDATE 追加更新方法 save() create() add() update()