Kaydet (Commit) ec08d62a authored tarafından Adam Kaliński's avatar Adam Kaliński Kaydeden (comit) Tim Graham

Fixed #22048 - Enhanced docs to cover nonexistent one-to-one relationships.

Thanks EvilDMP for the suggestion.
üst 60d2dde2
...@@ -1469,6 +1469,15 @@ your resulting ``User`` model will have the following attributes:: ...@@ -1469,6 +1469,15 @@ your resulting ``User`` model will have the following attributes::
>>> hasattr(user, 'supervisor_of') >>> hasattr(user, 'supervisor_of')
True True
A ``DoesNotExist`` exception is raised when accessing the reverse relationship
if an entry in the related table doesn't exist. For example, if a user doesn't
have a supervisor designated by ``MySpecialUser``::
>>> user.supervisor_of
Traceback (most recent call last):
...
DoesNotExist: User matching query does not exist.
.. _onetoone-arguments: .. _onetoone-arguments:
Additionally, ``OneToOneField`` accepts all of the extra arguments Additionally, ``OneToOneField`` accepts all of the extra arguments
......
...@@ -61,10 +61,17 @@ A Place can access its restaurant, if available:: ...@@ -61,10 +61,17 @@ A Place can access its restaurant, if available::
p2 doesn't have an associated restaurant:: p2 doesn't have an associated restaurant::
>>> p2.restaurant >>> from django.core.exceptions import ObjectDoesNotExist
Traceback (most recent call last): >>> try:
... >>> p2.restaurant
DoesNotExist: Restaurant matching query does not exist. >>> except ObjectDoesNotExist:
>>> print("There is no restaurant here.")
There is no restaurant here.
You can also use ``hasattr`` to avoid the need for exception catching::
>>> hasattr(p2, 'restaurant')
False
Set the place using assignment notation. Because place is the primary key on Set the place using assignment notation. Because place is the primary key on
Restaurant, the save will create a new restaurant:: Restaurant, the save will create a new restaurant::
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment