Adjusted inspectdb management command to yield PEP 8-compliant output barring Django Coding Style exceptions.
This commit is contained in:
parent
bc7668eb51
commit
298a2b577f
|
@ -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]
|
||||||
""]
|
|
||||||
|
|
|
@ -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)")
|
||||||
|
|
Loading…
Reference in New Issue