PostgreSQL 固有のデータベース関数¶
これらの関数はすべて django.contrib.postgres.functions
モジュールから利用できます。
RandomUUID
¶
バージョン 4 の UUID を返します。
PostgreSQL < 13 では、 pgcrypto extension をインストールする必要があります。 CryptoExtension
マイグレーションオペレーションを使ってインストールできます。
使用例:
>>> from django.contrib.postgres.functions import RandomUUID
>>> Article.objects.update(uuid=RandomUUID())
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>]>