From 00f051985933abd32c545f54487de571df813c67 Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Tue, 26 Feb 2008 21:18:34 +0000 Subject: [PATCH] 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 --- docs/model-api.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/model-api.txt b/docs/model-api.txt index 7eb0fdbb28..66fa63e3c6 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -784,9 +784,17 @@ you can use the name of the model, rather than the model object itself:: class Manufacturer(models.Model): # ... -Note, however, that you can only use strings to refer to models in the same -models.py file -- you cannot use a string to reference a model in a different -application, or to reference a model that has been imported from elsewhere. +Note, however, that this only refers to models in the same models.py file -- you +cannot use a string to reference a model defined in another application or +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 database column name. In the above example, the database table for the ``Car``