Added documentation about the "app.Model" relation syntax introduced by [7185]

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7159 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jacob Kaplan-Moss 2008-02-26 21:18:34 +00:00
parent df5fef33c9
commit 00f0519859
1 changed files with 11 additions and 3 deletions

View File

@ -784,9 +784,17 @@ you can use the name of the model, rather than the model object itself::
class Manufacturer(models.Model): class Manufacturer(models.Model):
# ... # ...
Note, however, that you can only use strings to refer to models in the same Note, however, that this only refers to models in the same models.py file -- you
models.py file -- you cannot use a string to reference a model in a different cannot use a string to reference a model defined in another application or
application, or to reference a model that has been imported from elsewhere. imported from elsewhere.
**New in Django development version:** to refer to models defined in another
application, you must instead explicitially specify the application label. That
is, if the ``Manufacturer`` model above is defined in another application called
``production``, you'd need to use::
class Car(models.Model):
manufacturer = models.ForeignKey('production.Manufacturer')
Behind the scenes, Django appends ``"_id"`` to the field name to create its Behind the scenes, Django appends ``"_id"`` to the field name to create its
database column name. In the above example, the database table for the ``Car`` database column name. In the above example, the database table for the ``Car``