Функции базы данных, специфичные для PostgreSQL
Все эти функции доступны из модуля django.contrib.postgres.functions.
RandomUUID
-
class RandomUUID
Возвращает UUID версии 4.
Для использования необходимо установить расширение 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>]>
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/functions/