Специальные функции базы данных 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>]>