# Django 3.2.11.dev 文档

# 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>]>