PostgreSQL 特有数据库函数¶
所有这些函数都可以从 django.contrib.postgres.function
模块中获得。
RandomUUID
¶
-
class
RandomUUID
¶
返回一个版本 4 的 UUID。
在 PostgreSQL < 13 上,必须安装 pgcrypto extension 。你可以使用 CryptoExtension
迁移操作来安装它。
用法示例:
>>> from django.contrib.postgres.functions import RandomUUID
>>> Article.objects.update(uuid=RandomUUID())
TransactionNow
¶
-
class
TransactionNow
¶
返回数据库服务器上当前事务开始的日期和时间。如果你不在事务中,它将返回当前语句的日期和时间。这是对 django.db.models.function.Now
的补充,后者返回当前语句的日期和时间。
请注意,只有最外层的 atomic()
的调用才会设置事务,从而设置 TransactionNow()
返回的时间;嵌套调用会创建不影响事务时间的保存点。
用法示例:
>>> from django.contrib.postgres.functions import TransactionNow
>>> Article.objects.filter(published__lte=TransactionNow())
<QuerySet [<Article: How to Django>]>