Teach inspectdb to handle SQL column names that are digits.
There's no accounting for taste in the way some people name columns, apparently. Create a column with a name of "1" and inspectdb will still produce valid Python code now. Fixed #16536. Thanks tereaom and danodonovan. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16641 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
e3cd0e6710
commit
8560a2c080
|
@ -101,6 +101,12 @@ class Command(NoArgsCommand):
|
|||
att_name += '_field'
|
||||
comment_notes.append('Field renamed because it was a Python reserved word.')
|
||||
|
||||
if att_name.isdigit():
|
||||
att_name = 'number_%d' % int(att_name)
|
||||
extra_params['db_column'] = unicode(column_name)
|
||||
comment_notes.append("Field renamed because it wasn't a "
|
||||
"valid Python identifier.")
|
||||
|
||||
# Don't output 'id = meta.AutoField(primary_key=True)', because
|
||||
# that's assumed if it doesn't exist.
|
||||
if att_name == 'id' and field_type == 'AutoField(' and extra_params == {'primary_key': True}:
|
||||
|
|
Loading…
Reference in New Issue