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]
New in Django 2.0.

Returns a version 4 UUID.

Nécessite PostgreSQL 9.4 ou plus récent.

The pgcrypto extension must be installed. You can use the CryptoExtension migration operation to install it.

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