Специальные функции базы данных PostgreSQL ¶
Все эти функции доступны из
django.contrib.postgres.functions
модуля.
RandomUUID
¶
-
класс
RandomUUID
¶
Возвращает UUID версии 4.
В PostgreSQL <13 должно быть установлено расширение 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>]>