﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
17676	inspectdb generates invalid field name for tables that start with a number	Gandalfar	nobody	"Ticket #16536 introduces patch that fixes this for fields that are numbers. It turns out that some people start their table names with numbers (e.g.: '3starost') and Django doesn't like that.

This patch extends current functionality by making sure that first character of table isn't a digit:


{{{
--- a/django/core/management/commands/inspectdb.py
+++ b/django/core/management/commands/inspectdb.py
@@ -101,8 +101,8 @@ 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)
+                if att_name[0].isdigit():
+                    att_name = 'number_%s' % att_name
                     extra_params['db_column'] = unicode(column_name)
                     comment_notes.append(""Field renamed because it wasn't a ""
                         ""valid Python identifier."")
}}}


Original patch didn't have a test and I'm not sure how actually test this within Django framework, but I'm happy to write one I someone can give me hint where to start, if it's required."	Bug	closed	Core (Management commands)	dev	Normal	fixed	inspectdb		Accepted	1	0	1	0	0	0
