Функции базы данных, специфичные для PostgreSQL
Все эти функции доступны из модуля django.contrib.postgres.functions.
RandomUUID
-
class RandomUUID[source]
Возвращает UUID версии 4.
В PostgreSQL < 13 необходимо установить расширение pgcrypto. Вы можете использовать операцию миграции CryptoExtension для ее установки.
Пример использования:
>>> from django.contrib.postgres.functions import RandomUUID >>> Article.objects.update(uuid=RandomUUID())
TransactionNow
-
class TransactionNow[source]
Возвращает дату и время начала текущей транзакции на сервере базы данных. Если вы не находитесь в транзакции, возвращается дата и время текущей команды. Это дополнение к 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/5.1/ref/contrib/postgres/functions/