Fixed #15216 -- Made return type of an internal DB introspection method consistent.
Thanks arthur AT milliways DOT fr for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17510 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a411242e94
commit
98b4572ef7
|
@ -905,6 +905,7 @@ class BaseDatabaseIntrospection(object):
|
||||||
continue
|
continue
|
||||||
tables.add(model._meta.db_table)
|
tables.add(model._meta.db_table)
|
||||||
tables.update([f.m2m_db_table() for f in model._meta.local_many_to_many])
|
tables.update([f.m2m_db_table() for f in model._meta.local_many_to_many])
|
||||||
|
tables = list(tables)
|
||||||
if only_existing:
|
if only_existing:
|
||||||
existing_tables = self.table_names()
|
existing_tables = self.table_names()
|
||||||
tables = [
|
tables = [
|
||||||
|
|
|
@ -53,6 +53,17 @@ class IntrospectionTests(TestCase):
|
||||||
self.assertTrue('django_ixn_testcase_table' not in tl,
|
self.assertTrue('django_ixn_testcase_table' not in tl,
|
||||||
"django_table_names() returned a non-Django table")
|
"django_table_names() returned a non-Django table")
|
||||||
|
|
||||||
|
def test_django_table_names_retval_type(self):
|
||||||
|
# Ticket #15216
|
||||||
|
cursor = connection.cursor()
|
||||||
|
cursor.execute('CREATE TABLE django_ixn_test_table (id INTEGER);')
|
||||||
|
|
||||||
|
tl = connection.introspection.django_table_names(only_existing=True)
|
||||||
|
self.assertIs(type(tl), list)
|
||||||
|
|
||||||
|
tl = connection.introspection.django_table_names(only_existing=False)
|
||||||
|
self.assertIs(type(tl), list)
|
||||||
|
|
||||||
def test_installed_models(self):
|
def test_installed_models(self):
|
||||||
tables = [Article._meta.db_table, Reporter._meta.db_table]
|
tables = [Article._meta.db_table, Reporter._meta.db_table]
|
||||||
models = connection.introspection.installed_models(tables)
|
models = connection.introspection.installed_models(tables)
|
||||||
|
|
Loading…
Reference in New Issue