Специальные функции базы данных PostgreSQL

Все эти функции доступны в модуле django.contrib.postgres.functions .

RandomUUID

класс RandomUUID

Возвращает UUID версии 4.

Расширение pgcrypto должно быть установлено. Вы можете использовать операцию миграции, CryptoExtension чтобы установить его.

Пример использования:

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

TransactionNow

класс 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>]>

Copyright ©2020 All rights reserved