Merge pull request #1771 from bchrobot/add-lazy-reference-documentation

Add documentation for LazyReference and GenericLazyReference fields.
This commit is contained in:
erdenezul 2018-04-12 23:12:12 +08:00 committed by GitHub
commit 2d8d2e7e6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 6 deletions

View File

@ -87,7 +87,9 @@ Fields
.. autoclass:: mongoengine.fields.DictField .. autoclass:: mongoengine.fields.DictField
.. autoclass:: mongoengine.fields.MapField .. autoclass:: mongoengine.fields.MapField
.. autoclass:: mongoengine.fields.ReferenceField .. autoclass:: mongoengine.fields.ReferenceField
.. autoclass:: mongoengine.fields.LazyReferenceField
.. autoclass:: mongoengine.fields.GenericReferenceField .. autoclass:: mongoengine.fields.GenericReferenceField
.. autoclass:: mongoengine.fields.GenericLazyReferenceField
.. autoclass:: mongoengine.fields.CachedReferenceField .. autoclass:: mongoengine.fields.CachedReferenceField
.. autoclass:: mongoengine.fields.BinaryField .. autoclass:: mongoengine.fields.BinaryField
.. autoclass:: mongoengine.fields.FileField .. autoclass:: mongoengine.fields.FileField

View File

@ -80,6 +80,7 @@ are as follows:
* :class:`~mongoengine.fields.FloatField` * :class:`~mongoengine.fields.FloatField`
* :class:`~mongoengine.fields.GenericEmbeddedDocumentField` * :class:`~mongoengine.fields.GenericEmbeddedDocumentField`
* :class:`~mongoengine.fields.GenericReferenceField` * :class:`~mongoengine.fields.GenericReferenceField`
* :class:`~mongoengine.fields.GenericLazyReferenceField`
* :class:`~mongoengine.fields.GeoPointField` * :class:`~mongoengine.fields.GeoPointField`
* :class:`~mongoengine.fields.ImageField` * :class:`~mongoengine.fields.ImageField`
* :class:`~mongoengine.fields.IntField` * :class:`~mongoengine.fields.IntField`
@ -87,6 +88,7 @@ are as follows:
* :class:`~mongoengine.fields.MapField` * :class:`~mongoengine.fields.MapField`
* :class:`~mongoengine.fields.ObjectIdField` * :class:`~mongoengine.fields.ObjectIdField`
* :class:`~mongoengine.fields.ReferenceField` * :class:`~mongoengine.fields.ReferenceField`
* :class:`~mongoengine.fields.LazyReferenceField`
* :class:`~mongoengine.fields.SequenceField` * :class:`~mongoengine.fields.SequenceField`
* :class:`~mongoengine.fields.SortedListField` * :class:`~mongoengine.fields.SortedListField`
* :class:`~mongoengine.fields.StringField` * :class:`~mongoengine.fields.StringField`

View File

@ -2204,8 +2204,11 @@ class MultiPolygonField(GeoJsonBaseField):
class LazyReferenceField(BaseField): class LazyReferenceField(BaseField):
"""A really lazy reference to a document. """A really lazy reference to a document.
Unlike the :class:`~mongoengine.fields.ReferenceField` it must be manually Unlike the :class:`~mongoengine.fields.ReferenceField` it will
dereferenced using it ``fetch()`` method. **not** be automatically (lazily) dereferenced on access.
Instead, access will return a :class:`~mongoengine.base.LazyReference` class
instance, allowing access to `pk` or manual dereference by using
``fetch()`` method.
.. versionadded:: 0.15 .. versionadded:: 0.15
""" """
@ -2331,10 +2334,12 @@ class LazyReferenceField(BaseField):
class GenericLazyReferenceField(GenericReferenceField): class GenericLazyReferenceField(GenericReferenceField):
"""A reference to *any* :class:`~mongoengine.document.Document` subclass """A reference to *any* :class:`~mongoengine.document.Document` subclass.
that will be automatically dereferenced on access (lazily). Unlike the :class:`~mongoengine.fields.GenericReferenceField` it will
Unlike the :class:`~mongoengine.fields.GenericReferenceField` it must be **not** be automatically (lazily) dereferenced on access.
manually dereferenced using it ``fetch()`` method. Instead, access will return a :class:`~mongoengine.base.LazyReference` class
instance, allowing access to `pk` or manual dereference by using
``fetch()`` method.
.. note :: .. note ::
* Any documents used as a generic reference must be registered in the * Any documents used as a generic reference must be registered in the