summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-01-25 00:42:54 +0000
committerRamiro Morales <cramm0@gmail.com>2011-01-25 00:42:54 +0000
commitf01e1cd42561263eb9f1130ebcb39ffa6eecbe63 (patch)
tree3c0a3257b290942dcfd4301429657a7f66d0de25 /tests
parent5f923671e5e1b5ddce3c19cd195e236df8b7fd88 (diff)
[1.2.X] Fixed #14796 -- Modified order of operations performed on field names by the inspectdb command so it doesn't generates model fields with names equal to Python keywords. Thanks pappjm at gmail dot com for the report, mmcnickle for the fix and Alex for simplifying the tests.
Backport of r15296 and r15297 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15301 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/inspectdb/__init__.py1
-rw-r--r--tests/regressiontests/inspectdb/models.py8
-rw-r--r--tests/regressiontests/inspectdb/tests.py14
3 files changed, 23 insertions, 0 deletions
diff --git a/tests/regressiontests/inspectdb/__init__.py b/tests/regressiontests/inspectdb/__init__.py
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/regressiontests/inspectdb/__init__.py
@@ -0,0 +1 @@
+
diff --git a/tests/regressiontests/inspectdb/models.py b/tests/regressiontests/inspectdb/models.py
new file mode 100644
index 0000000000..fc2548b441
--- /dev/null
+++ b/tests/regressiontests/inspectdb/models.py
@@ -0,0 +1,8 @@
+from django.db import models
+
+
+class People(models.Model):
+ name = models.CharField(max_length=255)
+
+class Message(models.Model):
+ from_field = models.ForeignKey(People, db_column='from_id')
diff --git a/tests/regressiontests/inspectdb/tests.py b/tests/regressiontests/inspectdb/tests.py
new file mode 100644
index 0000000000..a81a97df5e
--- /dev/null
+++ b/tests/regressiontests/inspectdb/tests.py
@@ -0,0 +1,14 @@
+from StringIO import StringIO
+
+from django.core.management import call_command
+from django.test import TestCase
+
+
+class InspectDBTestCase(TestCase):
+ def test_attribute_name_not_python_keyword(self):
+ out = StringIO()
+ call_command('inspectdb', stdout=out)
+ error_message = "inspectdb generated an attribute name which is a python keyword"
+ self.assertFalse("from = models.ForeignKey(InspectdbPeople)" in out.getvalue(), msg=error_message)
+ self.assertTrue("from_field = models.ForeignKey(InspectdbPeople)" in out.getvalue())
+ out.close()