Fonctions de bases de données spécifiques à PostgreSQL¶
Toutes ces fonctions sont disponibles dans le module django.contrib.postgres.functions
.
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
¶
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>]>