# Documentation Django 3.1.9.dev

# Fonctions de bases de données spécifiques à PostgreSQL

Toutes ces fonctions sont disponibles dans le module `django.contrib.postgres.functions`.

## `RandomUUID`

class `RandomUUID`

Renvoie un UUID version 4.

L”extension pgcrypto doit être installée. Vous pouvez utiliser l’opération de migration `CryptoExtension` pour l’installer.

Exemple d’utilisation :

    >>> from django.contrib.postgres.functions import RandomUUID
    >>> Article.objects.update(uuid=RandomUUID())

## `TransactionNow`

class `TransactionNow`

Renvoie la date et l’heure du serveur de base de données au départ de la transaction actuelle. Si vous n’êtes pas dans une transaction, elle renvoie la date et l’heure de l’instruction en cours. Il s’agit d’un complément à `django.db.models.functions.Now` qui renvoie toujours la date et l’heure de l’instruction en cours.

Notez que seul l’appel le plus extérieur à `atomic()` définit une transaction et c’est donc l’heure de ce premier appel qui sera renvoyée par `TransactionNow()`; les appels imbriqués créent des points de sauvegarde qui n’affectent pas l’heure de début de transaction.

Exemple d’utilisation :

    >>> from django.contrib.postgres.functions import TransactionNow
    >>> Article.objects.filter(published__lte=TransactionNow())
    <QuerySet [<Article: How to Django>]>