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

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

RandomUUID

class RandomUUID[source]

Renvoie un UUID version 4.

Avec PostgreSQL < 13, 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[source]

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>]>
Back to Top