Skip to content
Browse files

[1.5.x] Fixed #21212 -- Documented the reverse name for OneToOneField.

Thanks bjb at for the report.

Backport of f863257 from master
  • Loading branch information...
1 parent 4729170 commit 8ffa99ccb6173e6dd53a83204933d99a9a6748a3 Juergen Schackmann committed with timgraham
Showing with 24 additions and 0 deletions.
  1. +24 −0 docs/ref/models/fields.txt
24 docs/ref/models/fields.txt
@@ -1223,6 +1223,27 @@ related. This works exactly the same as it does for :class:`ForeignKey`,
including all the options regarding :ref:`recursive <recursive-relationships>`
and :ref:`lazy <lazy-relationships>` relationships.
+If you do not specify the the :attr:`~ForeignKey.related_name` argument for
+the ``OneToOneField``, Django will use the lower-case name of the current model
+as default value.
+With the following example::
+ from django.db import models
+ from django.contrib.auth.models import User
+ class MySpecialUser(models.Model):
+ user = models.OneToOneField(User)
+ supervisor = models.OneToOneField(User, related_name='supervisor_of')
+your resulting ``User`` model will have the following attributes::
+ >>> user = User.objects.get(pk=1)
+ >>> hasattr(user, 'myspecialuser')
+ True
+ >>> hasattr(user, 'supervisor_of')
+ True
.. _onetoone-arguments:
Additionally, ``OneToOneField`` accepts all of the extra arguments
@@ -1235,3 +1256,6 @@ accepted by :class:`ForeignKey`, plus one extra argument:
link back to the parent class, rather than the extra
``OneToOneField`` which would normally be implicitly created by
+See :doc:`One-to-one relationships </topics/db/examples/one_to_one>` for usage
+examples of ``OneToOneField``.

0 comments on commit 8ffa99c

Please sign in to comment.
Something went wrong with that request. Please try again.