From fcb5dbfec0542faaa1b0adad754a1caf1bcd65e2 Mon Sep 17 00:00:00 2001 From: Paolo Melchiorre Date: Wed, 29 Mar 2017 23:52:42 +0200 Subject: Fixed #27996 -- Added RandomUUID function and CryptoExtension to contrib.postgres. --- django/contrib/postgres/functions.py | 11 ++++++++++- django/contrib/postgres/operations.py | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'django') diff --git a/django/contrib/postgres/functions.py b/django/contrib/postgres/functions.py index d17f9cb37d..36b32e0751 100644 --- a/django/contrib/postgres/functions.py +++ b/django/contrib/postgres/functions.py @@ -1,4 +1,13 @@ -from django.db.models import DateTimeField, Func +from django.db.models import DateTimeField, Func, UUIDField + + +class RandomUUID(Func): + template = 'GEN_RANDOM_UUID()' + + def __init__(self, output_field=None, **extra): + if output_field is None: + output_field = UUIDField() + super().__init__(output_field=output_field, **extra) class TransactionNow(Func): diff --git a/django/contrib/postgres/operations.py b/django/contrib/postgres/operations.py index 7544e38613..8ff043b5a9 100644 --- a/django/contrib/postgres/operations.py +++ b/django/contrib/postgres/operations.py @@ -35,6 +35,12 @@ class CITextExtension(CreateExtension): self.name = 'citext' +class CryptoExtension(CreateExtension): + + def __init__(self): + self.name = 'pgcrypto' + + class HStoreExtension(CreateExtension): def __init__(self): -- cgit v1.3