Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed some stale documentation that was advising against the use of O…

…neToOneFields. Post queryset refactor, that warning is no longer required.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7633 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 42668dcc7993b1fcd2b2ad66fd1d28174e63e8cc 1 parent 363e46b
Russell Keith-Magee freakboy3742 authored
Showing with 31 additions and 6 deletions.
  1. +31 −6 docs/db-api.txt
37 docs/db-api.txt
View
@@ -2037,6 +2037,37 @@ Each "reverse" operation described in this section has an immediate effect on
the database. Every addition, creation and deletion is immediately and
automatically saved to the database.
+One-to-one relationships
+------------------------
+
+One-to-one relationships are very similar to Many-to-one relationships.
+If you define a OneToOneField on your model, instances of that model will have
+access to the related object via a simple attribute of the model.
+
+For example::
+
+ class EntryDetail(models.Model):
+ entry = models.OneToOneField(Entry)
+ details = models.TextField()
+
+ ed = EntryDetail.objects.get(id=2)
+ ed.entry # Returns the related Entry object.
+
+The difference comes in reverse queries. The related model in a One-to-one
+relationship also has access to a ``Manager`` object; however, that ``Manager``
+represents a single object, rather than a collection of objects::
+
+ e = Entry.objects.get(id=2)
+ e.entrydetail # returns the related EntryDetail object
+
+If no object has been assigned to this relationship, Django will raise
+a ``DoesNotExist`` exception.
+
+Instances can be assigned to the reverse relationship in the same way as
+you would assign the forward relationship::
+
+ e.entrydetail = ed
+
Many-to-many relationships
--------------------------
@@ -2064,12 +2095,6 @@ above example, if the ``ManyToManyField`` in ``Entry`` had specified
``related_name='entries'``, then each ``Author`` instance would have an
``entries`` attribute instead of ``entry_set``.
-One-to-one relationships
-------------------------
-
-The semantics of one-to-one relationships will be changing soon, so we don't
-recommend you use them.
-
How are the backward relationships possible?
--------------------------------------------
Please sign in to comment.
Something went wrong with that request. Please try again.