summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/backends/sqlite3')
-rw-r--r--django/db/backends/sqlite3/base.py2
-rw-r--r--django/db/backends/sqlite3/features.py3
2 files changed, 3 insertions, 2 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 5d8f4028c2..1c39fb4add 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -267,7 +267,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
determine if rows with invalid references were entered while constraint
checks were off.
"""
- if Database.sqlite_version_info >= (3, 20, 0):
+ if self.features.supports_pragma_foreign_key_check:
with self.cursor() as cursor:
if table_names is None:
violations = self.cursor().execute('PRAGMA foreign_key_check').fetchall()
diff --git a/django/db/backends/sqlite3/features.py b/django/db/backends/sqlite3/features.py
index e315c86712..612ae735be 100644
--- a/django/db/backends/sqlite3/features.py
+++ b/django/db/backends/sqlite3/features.py
@@ -40,7 +40,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_parentheses_in_compound = False
# Deferred constraint checks can be emulated on SQLite < 3.20 but not in a
# reasonably performant way.
- can_defer_constraint_checks = Database.sqlite_version_info >= (3, 20, 0)
+ supports_pragma_foreign_key_check = Database.sqlite_version_info >= (3, 20, 0)
+ can_defer_constraint_checks = supports_pragma_foreign_key_check
@cached_property
def supports_stddev(self):