PostgreSQL固有のデータベース関数—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/contrib/postgres/functions /
2021年11月1日 (月) 02:40時点におけるNotes (トーク | 投稿記録)による版 (Page commit)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

PostgreSQL固有のデータベース機能

これらの機能はすべて、django.contrib.postgres.functionsモジュールから利用できます。

RandomUUID

class RandomUUID

バージョン4のUUIDを返します。

PostgreSQL <13では、 pgcrypto拡張機能インストールする必要があります。 CryptoExtension 移行操作を使用してインストールできます。

使用例:

>>> from django.contrib.postgres.functions import RandomUUID
>>> Article.objects.update(uuid=RandomUUID())

TransactionNow

class TransactionNow

現在のトランザクションが開始されたデータベースサーバーの日付と時刻を返します。 トランザクションを行っていない場合は、現在のステートメントの日付と時刻が返されます。 これは、現在のステートメントの日付と時刻を返す django.db.models.functions.Now を補完するものです。

atomic()の最も外側の呼び出しのみがトランザクションを設定し、TransactionNow()が戻る時間を設定することに注意してください。 ネストされた呼び出しは、トランザクション時間に影響を与えないセーブポイントを作成します。

使用例:

>>> from django.contrib.postgres.functions import TransactionNow
>>> Article.objects.filter(published__lte=TransactionNow())
<QuerySet [<Article: How to Django>]>