Fixed #31345 -- Added BaseDatabaseIntrospection.get_relations().

This commit is contained in:
shankarj67 2020-03-06 10:23:52 +05:30 committed by Mariusz Felisiak
parent 17009e9105
commit df4d622cac
2 changed files with 16 additions and 0 deletions

View File

@ -140,6 +140,17 @@ class BaseDatabaseIntrospection:
""" """
raise NotImplementedError('subclasses of BaseDatabaseIntrospection may require a get_sequences() method') raise NotImplementedError('subclasses of BaseDatabaseIntrospection may require a get_sequences() method')
def get_relations(self, cursor, table_name):
"""
Return a dictionary of
{field_name: (field_name_other_table, other_table)} representing all
relationships to the given table.
"""
raise NotImplementedError(
'subclasses of BaseDatabaseIntrospection may require a '
'get_relations() method.'
)
def get_key_columns(self, cursor, table_name): def get_key_columns(self, cursor, table_name):
""" """
Backends can override this to return a list of: Backends can override this to return a list of:

View File

@ -26,6 +26,11 @@ class SimpleDatabaseIntrospectionTests(SimpleTestCase):
with self.assertRaisesMessage(NotImplementedError, msg): with self.assertRaisesMessage(NotImplementedError, msg):
self.introspection.get_sequences(None, None) self.introspection.get_sequences(None, None)
def test_get_relations(self):
msg = self.may_require_msg % 'get_relations'
with self.assertRaisesMessage(NotImplementedError, msg):
self.introspection.get_relations(None, None)
def test_get_key_columns(self): def test_get_key_columns(self):
msg = self.may_require_msg % 'get_key_columns' msg = self.may_require_msg % 'get_key_columns'
with self.assertRaisesMessage(NotImplementedError, msg): with self.assertRaisesMessage(NotImplementedError, msg):