﻿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
12190	Changeset [11710] breaks ForeignKey.db_type for fields defined outside a model	jittat	nobody	"When defining a ForeignKey field outside a model, ForeignKey.db_type produces an exception FieldDoesNotExist.  This bug breaks '''south 0.6.2''', and starts occurring after changeset [11710].

'''Steps to reproduce'''

1. Assume that you already have a Poll model defined as in the tutorial

2. In `manage.py shell`, do the following

{{{
#!python
from polls.models import Poll
from django.db import models
poll = models.ForeignKey(Poll)
poll.db_type()
}}}

You expect to see `'integer'` (on revision [11709], you see it), but you'll get the following:

{{{
  File ""<console>"", line 1, in <module>
  File ""/usr/lib/python2.6/dist-packages/django/db/models/fields/related.py"", line 771, in db_type
    rel_field = self.rel.get_related_field()
  File ""/usr/lib/python2.6/dist-packages/django/db/models/fields/related.py"", line 648, in get_related_field
    data = self.to._meta.get_field_by_name(self.field_name)
  File ""/usr/lib/python2.6/dist-packages/django/db/models/options.py"", line 299, in get_field_by_name
    % (self.object_name, name))
FieldDoesNotExist: Poll has no field named None
}}}

'''Additional information'''

After some tracing, I think this bug is related to the removal of line 693 in source:/django/trunk/django/db/models/fields/related.py#11710 in changeset [11710].  The following line is removed:
{{{
#!python
            to_field = to_field or to._meta.pk.name 
}}}
"		closed	Database layer (models, ORM)	dev		fixed	multi-db, ForeignKey		Unreviewed	0	0	0	0	0	0
