summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2011-08-22 02:46:59 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2011-08-22 02:46:59 +0000
commit8560a2c08030d67e234112b6951279de205b4778 (patch)
treec088b2588f00c0c520b02ff29ade137e30d3c1b9
parente3cd0e671016f535f0108d550535335e04e5230d (diff)
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
-rw-r--r--django/core/management/commands/inspectdb.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/django/core/management/commands/inspectdb.py b/django/core/management/commands/inspectdb.py
index 5f0e278c61..90272dbcdd 100644
--- a/django/core/management/commands/inspectdb.py
+++ b/django/core/management/commands/inspectdb.py
@@ -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}: