Функции базы данных, специфичные для PostgreSQL

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

RandomUUID

class RandomUUID[исходный код]

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

На PostgreSQL < 13 необходимо установить pgcrypto extension. Для его установки можно использовать операцию миграции 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>]>
Вернуться на верх