summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/features.py
diff options
context:
space:
mode:
authorSergey Fedoseev <fedoseev.sergey@gmail.com>2018-11-16 20:25:26 +0500
committerTim Graham <timograham@gmail.com>2018-11-19 08:59:46 -0500
commit80ba7a881f9810404ba8a660548f1757f8243562 (patch)
tree8e01421d66d8b26c26836befbbbd5d413a421c48 /django/db/backends/postgresql/features.py
parent11bcb57ee2064d795f5f596eade244168ef5ed65 (diff)
downloaddjango-80ba7a881f9810404ba8a660548f1757f8243562.tar.gz
Fixed cached_properties that share a common property.
The aliases aren't cached and thus the old usage will be an error after refs #29478.
Diffstat (limited to 'django/db/backends/postgresql/features.py')
-rw-r--r--django/db/backends/postgresql/features.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/django/db/backends/postgresql/features.py b/django/db/backends/postgresql/features.py
index 4fae7b1d34..3f43abf9d5 100644
--- a/django/db/backends/postgresql/features.py
+++ b/django/db/backends/postgresql/features.py
@@ -1,3 +1,5 @@
+import operator
+
from django.db.backends.base.features import BaseDatabaseFeatures
from django.db.utils import InterfaceError
from django.utils.functional import cached_property
@@ -64,10 +66,10 @@ class DatabaseFeatures(BaseDatabaseFeatures):
def is_postgresql_10(self):
return self.connection.pg_version >= 100000
- has_select_for_update_skip_locked = is_postgresql_9_5
- has_brin_index_support = is_postgresql_9_5
- has_jsonb_agg = is_postgresql_9_5
- has_brin_autosummarize = is_postgresql_10
- has_gin_pending_list_limit = is_postgresql_9_5
- supports_ignore_conflicts = is_postgresql_9_5
- has_phraseto_tsquery = is_postgresql_9_6
+ has_select_for_update_skip_locked = property(operator.attrgetter('is_postgresql_9_5'))
+ has_brin_index_support = property(operator.attrgetter('is_postgresql_9_5'))
+ has_jsonb_agg = property(operator.attrgetter('is_postgresql_9_5'))
+ has_brin_autosummarize = property(operator.attrgetter('is_postgresql_10'))
+ has_gin_pending_list_limit = property(operator.attrgetter('is_postgresql_9_5'))
+ supports_ignore_conflicts = property(operator.attrgetter('is_postgresql_9_5'))
+ has_phraseto_tsquery = property(operator.attrgetter('is_postgresql_9_6'))