Clarified documentation regarding string-form model references.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3597 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
518d406e53
commit
7fe6fd75ba
|
@ -686,8 +686,9 @@ you can use the name of the model, rather than the model object itself::
|
|||
class Manufacturer(models.Model):
|
||||
# ...
|
||||
|
||||
Note, however, that support for strings around model names in ``ForeignKey`` is
|
||||
quite new, and it can be buggy in some cases.
|
||||
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.
|
||||
|
||||
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``
|
||||
|
@ -809,7 +810,10 @@ here's how you'd represent that::
|
|||
|
||||
As with ``ForeignKey``, a relationship to self can be defined by using the
|
||||
string ``'self'`` instead of the model name, and you can refer to as-yet
|
||||
undefined models by using a string containing the model name.
|
||||
undefined models by using a string containing the model name. However, 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.
|
||||
|
||||
It's suggested, but not required, that the name of a ``ManyToManyField``
|
||||
(``toppings`` in the example above) be a plural describing the set of related
|
||||
|
|
Loading…
Reference in New Issue