summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-04-27 12:45:08 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-04-27 12:45:08 +0000
commitfb30e774f91fb91372b0a5a3e707fbbd1996da83 (patch)
treee61ea45a206742999f409daff4f22ccb81d2ccbc
parentf30ca6636b8c30e634d2a4d3af9f0c777d43a9b1 (diff)
Fixed #2608 -- Generate correct SQL for multi-level foreign key relations.
Based on a patch from Gopal Narayanan. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5106 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--AUTHORS1
-rw-r--r--django/core/management.py2
2 files changed, 3 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 52811b9445..60baa3f831 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -164,6 +164,7 @@ answer newbie questions, and generally made Django that much better:
Robin Munn <http://www.geekforgod.com/>
Robert Myers <myer0052@gmail.com>
Nebojša Dorđević
+ Gopal Narayanan <gopastro@gmail.com>
Fraser Nevett <mail@nevett.org>
Sam Newman <http://www.magpiebrain.com/>
Neal Norwitz <nnorwitz@google.com>
diff --git a/django/core/management.py b/django/core/management.py
index d2f0d1e837..4e6a5f45b3 100644
--- a/django/core/management.py
+++ b/django/core/management.py
@@ -168,6 +168,8 @@ def _get_sql_model_create(model, known_models=set()):
for f in opts.fields:
if isinstance(f, (models.ForeignKey, models.OneToOneField)):
rel_field = f.rel.get_related_field()
+ while isinstance(rel_field, (models.ForeignKey, models.OneToOneField)):
+ rel_field = rel_field.rel.get_related_field()
data_type = get_rel_data_type(rel_field)
else:
rel_field = f