PostgreSQL 特定数据库函数

所有这些函数都可从 django.contrib.postgres.functions 模块获得。

RandomUUID

class RandomUUID[source]

返回版本 4 的 UUID。

在 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>]>
返回顶部