diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index 3ac0acf5f34..41c55075fe9 100644 --- a/docs/ref/models/fields.txt +++ b/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 ` and :ref:`lazy ` 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 subclassing. + +See :doc:`One-to-one relationships ` for usage +examples of ``OneToOneField``.