Adjusted inspectdb management command to yield PEP 8-compliant output barring Django Coding Style exceptions.

This commit is contained in:
JustinTArthur 2014-01-15 17:01:30 -06:00 committed by Tim Graham
parent bc7668eb51
commit 298a2b577f
2 changed files with 8 additions and 7 deletions

View File

@ -50,12 +50,13 @@ class Command(NoArgsCommand):
yield "from __future__ import unicode_literals" yield "from __future__ import unicode_literals"
yield '' yield ''
yield 'from %s import models' % self.db_module yield 'from %s import models' % self.db_module
yield ''
known_models = [] known_models = []
for table_name in connection.introspection.table_names(cursor): for table_name in connection.introspection.table_names(cursor):
if table_name_filter is not None and callable(table_name_filter): if table_name_filter is not None and callable(table_name_filter):
if not table_name_filter(table_name): if not table_name_filter(table_name):
continue continue
yield ''
yield ''
yield 'class %s(models.Model):' % table2model(table_name) yield 'class %s(models.Model):' % table2model(table_name)
known_models.append(table2model(table_name)) known_models.append(table2model(table_name))
try: try:
@ -134,7 +135,7 @@ class Command(NoArgsCommand):
for k, v in extra_params.items()]) for k, v in extra_params.items()])
field_desc += ')' field_desc += ')'
if comment_notes: if comment_notes:
field_desc += ' # ' + ' '.join(comment_notes) field_desc += ' # ' + ' '.join(comment_notes)
yield ' %s' % field_desc yield ' %s' % field_desc
for meta_line in self.get_meta(table_name): for meta_line in self.get_meta(table_name):
yield meta_line yield meta_line
@ -239,7 +240,7 @@ class Command(NoArgsCommand):
to construct the inner Meta class for the model corresponding to construct the inner Meta class for the model corresponding
to the given database table name. to the given database table name.
""" """
return [" class Meta:", return ["",
" class Meta:",
" managed = False", " managed = False",
" db_table = '%s'" % table_name, " db_table = '%s'" % table_name]
""]

View File

@ -45,7 +45,7 @@ class InspectDBTestCase(TestCase):
self.assertEqual(definition, out_def) self.assertEqual(definition, out_def)
if not connection.features.can_introspect_autofield: if not connection.features.can_introspect_autofield:
assertFieldType('id', "models.IntegerField(primary_key=True) # AutoField?") assertFieldType('id', "models.IntegerField(primary_key=True) # AutoField?")
assertFieldType('big_int_field', "models.BigIntegerField()") assertFieldType('big_int_field', "models.BigIntegerField()")
if connection.vendor == 'mysql': if connection.vendor == 'mysql':
# No native boolean type on MySQL # No native boolean type on MySQL
@ -60,7 +60,7 @@ class InspectDBTestCase(TestCase):
assertFieldType('date_time_field', "models.DateTimeField()") assertFieldType('date_time_field', "models.DateTimeField()")
if connection.vendor == 'sqlite': if connection.vendor == 'sqlite':
# Guessed arguments, see #5014 # Guessed arguments, see #5014
assertFieldType('decimal_field', "models.DecimalField(max_digits=10, decimal_places=5) " assertFieldType('decimal_field', "models.DecimalField(max_digits=10, decimal_places=5) "
"# max_digits and decimal_places have been guessed, as this database handles decimal fields as float") "# max_digits and decimal_places have been guessed, as this database handles decimal fields as float")
else: else:
assertFieldType('decimal_field', "models.DecimalField(max_digits=6, decimal_places=1)") assertFieldType('decimal_field', "models.DecimalField(max_digits=6, decimal_places=1)")