|
@@ -168,6 +168,7 @@ class BaseDatabaseFeatures(object):
|
|
|
_confirmed = False
|
|
|
supports_transactions = None
|
|
|
supports_stddev = None
|
|
|
+ can_introspect_foreign_keys = None
|
|
|
|
|
|
def __init__(self, connection):
|
|
|
self.connection = connection
|
|
@@ -177,6 +178,7 @@ class BaseDatabaseFeatures(object):
|
|
|
self._confirmed = True
|
|
|
self.supports_transactions = self._supports_transactions()
|
|
|
self.supports_stddev = self._supports_stddev()
|
|
|
+ self.can_introspect_foreign_keys = self._can_introspect_foreign_keys()
|
|
|
|
|
|
def _supports_transactions(self):
|
|
|
"Confirm support for transactions"
|
|
@@ -201,6 +203,12 @@ class BaseDatabaseFeatures(object):
|
|
|
except NotImplementedError:
|
|
|
self.supports_stddev = False
|
|
|
|
|
|
+ def _can_introspect_foreign_keys(self):
|
|
|
+ "Confirm support for introspected foreign keys"
|
|
|
+ # Every database can do this reliably, except MySQL,
|
|
|
+ # which can't do it for MyISAM tables
|
|
|
+ return True
|
|
|
+
|
|
|
|
|
|
class BaseDatabaseOperations(object):
|
|
|
"""
|