Skip to content

Commit 2d8d2e7

Browse files
author
erdenezul
authored
Merge pull request #1771 from bchrobot/add-lazy-reference-documentation
Add documentation for LazyReference and GenericLazyReference fields.
2 parents bf30aba + 49bff5d commit 2d8d2e7

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

docs/apireference.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ Fields
8787
.. autoclass:: mongoengine.fields.DictField
8888
.. autoclass:: mongoengine.fields.MapField
8989
.. autoclass:: mongoengine.fields.ReferenceField
90+
.. autoclass:: mongoengine.fields.LazyReferenceField
9091
.. autoclass:: mongoengine.fields.GenericReferenceField
92+
.. autoclass:: mongoengine.fields.GenericLazyReferenceField
9193
.. autoclass:: mongoengine.fields.CachedReferenceField
9294
.. autoclass:: mongoengine.fields.BinaryField
9395
.. autoclass:: mongoengine.fields.FileField

docs/guide/defining-documents.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,15 @@ are as follows:
8080
* :class:`~mongoengine.fields.FloatField`
8181
* :class:`~mongoengine.fields.GenericEmbeddedDocumentField`
8282
* :class:`~mongoengine.fields.GenericReferenceField`
83+
* :class:`~mongoengine.fields.GenericLazyReferenceField`
8384
* :class:`~mongoengine.fields.GeoPointField`
8485
* :class:`~mongoengine.fields.ImageField`
8586
* :class:`~mongoengine.fields.IntField`
8687
* :class:`~mongoengine.fields.ListField`
8788
* :class:`~mongoengine.fields.MapField`
8889
* :class:`~mongoengine.fields.ObjectIdField`
8990
* :class:`~mongoengine.fields.ReferenceField`
91+
* :class:`~mongoengine.fields.LazyReferenceField`
9092
* :class:`~mongoengine.fields.SequenceField`
9193
* :class:`~mongoengine.fields.SortedListField`
9294
* :class:`~mongoengine.fields.StringField`

mongoengine/fields.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2204,8 +2204,11 @@ class MultiPolygonField(GeoJsonBaseField):
22042204

22052205
class LazyReferenceField(BaseField):
22062206
"""A really lazy reference to a document.
2207-
Unlike the :class:`~mongoengine.fields.ReferenceField` it must be manually
2208-
dereferenced using it ``fetch()`` method.
2207+
Unlike the :class:`~mongoengine.fields.ReferenceField` it will
2208+
**not** be automatically (lazily) dereferenced on access.
2209+
Instead, access will return a :class:`~mongoengine.base.LazyReference` class
2210+
instance, allowing access to `pk` or manual dereference by using
2211+
``fetch()`` method.
22092212
22102213
.. versionadded:: 0.15
22112214
"""
@@ -2331,10 +2334,12 @@ def lookup_member(self, member_name):
23312334

23322335

23332336
class GenericLazyReferenceField(GenericReferenceField):
2334-
"""A reference to *any* :class:`~mongoengine.document.Document` subclass
2335-
that will be automatically dereferenced on access (lazily).
2336-
Unlike the :class:`~mongoengine.fields.GenericReferenceField` it must be
2337-
manually dereferenced using it ``fetch()`` method.
2337+
"""A reference to *any* :class:`~mongoengine.document.Document` subclass.
2338+
Unlike the :class:`~mongoengine.fields.GenericReferenceField` it will
2339+
**not** be automatically (lazily) dereferenced on access.
2340+
Instead, access will return a :class:`~mongoengine.base.LazyReference` class
2341+
instance, allowing access to `pk` or manual dereference by using
2342+
``fetch()`` method.
23382343
23392344
.. note ::
23402345
* Any documents used as a generic reference must be registered in the

0 commit comments

Comments
 (0)