Documentation api and reference cleanups
This commit is contained in:
		@@ -98,7 +98,7 @@ Django provides session cookie, which expires after ```SESSION_COOKIE_AGE``` sec
 | 
			
		||||
 | 
			
		||||
Storage
 | 
			
		||||
=======
 | 
			
		||||
With MongoEngine's support for GridFS via the :class:`~mongoengine.FileField`,
 | 
			
		||||
With MongoEngine's support for GridFS via the :class:`~mongoengine.fields.FileField`,
 | 
			
		||||
it is useful to have a Django file storage backend that wraps this. The new
 | 
			
		||||
storage module is called :class:`~mongoengine.django.storage.GridFSStorage`.
 | 
			
		||||
Using it is very similar to using the default FileSystemStorage.::
 | 
			
		||||
 
 | 
			
		||||
@@ -62,31 +62,31 @@ not provided. Default values may optionally be a callable, which will be called
 | 
			
		||||
to retrieve the value (such as in the above example). The field types available
 | 
			
		||||
are as follows:
 | 
			
		||||
 | 
			
		||||
* :class:`~mongoengine.BinaryField`
 | 
			
		||||
* :class:`~mongoengine.BooleanField`
 | 
			
		||||
* :class:`~mongoengine.ComplexDateTimeField`
 | 
			
		||||
* :class:`~mongoengine.DateTimeField`
 | 
			
		||||
* :class:`~mongoengine.DecimalField`
 | 
			
		||||
* :class:`~mongoengine.DictField`
 | 
			
		||||
* :class:`~mongoengine.DynamicField`
 | 
			
		||||
* :class:`~mongoengine.EmailField`
 | 
			
		||||
* :class:`~mongoengine.EmbeddedDocumentField`
 | 
			
		||||
* :class:`~mongoengine.FileField`
 | 
			
		||||
* :class:`~mongoengine.FloatField`
 | 
			
		||||
* :class:`~mongoengine.GenericEmbeddedDocumentField`
 | 
			
		||||
* :class:`~mongoengine.GenericReferenceField`
 | 
			
		||||
* :class:`~mongoengine.GeoPointField`
 | 
			
		||||
* :class:`~mongoengine.ImageField`
 | 
			
		||||
* :class:`~mongoengine.IntField`
 | 
			
		||||
* :class:`~mongoengine.ListField`
 | 
			
		||||
* :class:`~mongoengine.MapField`
 | 
			
		||||
* :class:`~mongoengine.ObjectIdField`
 | 
			
		||||
* :class:`~mongoengine.ReferenceField`
 | 
			
		||||
* :class:`~mongoengine.SequenceField`
 | 
			
		||||
* :class:`~mongoengine.SortedListField`
 | 
			
		||||
* :class:`~mongoengine.StringField`
 | 
			
		||||
* :class:`~mongoengine.URLField`
 | 
			
		||||
* :class:`~mongoengine.UUIDField`
 | 
			
		||||
* :class:`~mongoengine.fields.BinaryField`
 | 
			
		||||
* :class:`~mongoengine.fields.BooleanField`
 | 
			
		||||
* :class:`~mongoengine.fields.ComplexDateTimeField`
 | 
			
		||||
* :class:`~mongoengine.fields.DateTimeField`
 | 
			
		||||
* :class:`~mongoengine.fields.DecimalField`
 | 
			
		||||
* :class:`~mongoengine.fields.DictField`
 | 
			
		||||
* :class:`~mongoengine.fields.DynamicField`
 | 
			
		||||
* :class:`~mongoengine.fields.EmailField`
 | 
			
		||||
* :class:`~mongoengine.fields.EmbeddedDocumentField`
 | 
			
		||||
* :class:`~mongoengine.fields.FileField`
 | 
			
		||||
* :class:`~mongoengine.fields.FloatField`
 | 
			
		||||
* :class:`~mongoengine.fields.GenericEmbeddedDocumentField`
 | 
			
		||||
* :class:`~mongoengine.fields.GenericReferenceField`
 | 
			
		||||
* :class:`~mongoengine.fields.GeoPointField`
 | 
			
		||||
* :class:`~mongoengine.fields.ImageField`
 | 
			
		||||
* :class:`~mongoengine.fields.IntField`
 | 
			
		||||
* :class:`~mongoengine.fields.ListField`
 | 
			
		||||
* :class:`~mongoengine.fields.MapField`
 | 
			
		||||
* :class:`~mongoengine.fields.ObjectIdField`
 | 
			
		||||
* :class:`~mongoengine.fields.ReferenceField`
 | 
			
		||||
* :class:`~mongoengine.fields.SequenceField`
 | 
			
		||||
* :class:`~mongoengine.fields.SortedListField`
 | 
			
		||||
* :class:`~mongoengine.fields.StringField`
 | 
			
		||||
* :class:`~mongoengine.fields.URLField`
 | 
			
		||||
* :class:`~mongoengine.fields.UUIDField`
 | 
			
		||||
 | 
			
		||||
Field arguments
 | 
			
		||||
---------------
 | 
			
		||||
@@ -110,7 +110,7 @@ arguments can be set on all fields:
 | 
			
		||||
    The definion of default parameters follow `the general rules on Python
 | 
			
		||||
    <http://docs.python.org/reference/compound_stmts.html#function-definitions>`__,
 | 
			
		||||
    which means that some care should be taken when dealing with default mutable objects
 | 
			
		||||
    (like in :class:`~mongoengine.ListField` or :class:`~mongoengine.DictField`)::
 | 
			
		||||
    (like in :class:`~mongoengine.fields.ListField` or :class:`~mongoengine.fields.DictField`)::
 | 
			
		||||
 | 
			
		||||
        class ExampleFirst(Document):
 | 
			
		||||
            # Default an empty list
 | 
			
		||||
@@ -172,8 +172,8 @@ arguments can be set on all fields:
 | 
			
		||||
List fields
 | 
			
		||||
-----------
 | 
			
		||||
MongoDB allows the storage of lists of items. To add a list of items to a
 | 
			
		||||
:class:`~mongoengine.Document`, use the :class:`~mongoengine.ListField` field
 | 
			
		||||
type. :class:`~mongoengine.ListField` takes another field object as its first
 | 
			
		||||
:class:`~mongoengine.Document`, use the :class:`~mongoengine.fields.ListField` field
 | 
			
		||||
type. :class:`~mongoengine.fields.ListField` takes another field object as its first
 | 
			
		||||
argument, which specifies which type elements may be stored within the list::
 | 
			
		||||
 | 
			
		||||
    class Page(Document):
 | 
			
		||||
@@ -191,7 +191,7 @@ inherit from :class:`~mongoengine.EmbeddedDocument` rather than
 | 
			
		||||
        content = StringField()
 | 
			
		||||
 | 
			
		||||
To embed the document within another document, use the
 | 
			
		||||
:class:`~mongoengine.EmbeddedDocumentField` field type, providing the embedded
 | 
			
		||||
:class:`~mongoengine.fields.EmbeddedDocumentField` field type, providing the embedded
 | 
			
		||||
document class as the first argument::
 | 
			
		||||
 | 
			
		||||
    class Page(Document):
 | 
			
		||||
@@ -206,7 +206,7 @@ Dictionary Fields
 | 
			
		||||
Often, an embedded document may be used instead of a dictionary -- generally
 | 
			
		||||
this is recommended as dictionaries don't support validation or custom field
 | 
			
		||||
types. However, sometimes you will not know the structure of what you want to
 | 
			
		||||
store; in this situation a :class:`~mongoengine.DictField` is appropriate::
 | 
			
		||||
store; in this situation a :class:`~mongoengine.fields.DictField` is appropriate::
 | 
			
		||||
 | 
			
		||||
    class SurveyResponse(Document):
 | 
			
		||||
        date = DateTimeField()
 | 
			
		||||
@@ -224,7 +224,7 @@ other objects, so are the most flexible field type available.
 | 
			
		||||
Reference fields
 | 
			
		||||
----------------
 | 
			
		||||
References may be stored to other documents in the database using the
 | 
			
		||||
:class:`~mongoengine.ReferenceField`. Pass in another document class as the
 | 
			
		||||
:class:`~mongoengine.fields.ReferenceField`. Pass in another document class as the
 | 
			
		||||
first argument to the constructor, then simply assign document objects to the
 | 
			
		||||
field::
 | 
			
		||||
 | 
			
		||||
@@ -245,9 +245,9 @@ field::
 | 
			
		||||
The :class:`User` object is automatically turned into a reference behind the
 | 
			
		||||
scenes, and dereferenced when the :class:`Page` object is retrieved.
 | 
			
		||||
 | 
			
		||||
To add a :class:`~mongoengine.ReferenceField` that references the document
 | 
			
		||||
To add a :class:`~mongoengine.fields.ReferenceField` that references the document
 | 
			
		||||
being defined, use the string ``'self'`` in place of the document class as the
 | 
			
		||||
argument to :class:`~mongoengine.ReferenceField`'s constructor. To reference a
 | 
			
		||||
argument to :class:`~mongoengine.fields.ReferenceField`'s constructor. To reference a
 | 
			
		||||
document that has not yet been defined, use the name of the undefined document
 | 
			
		||||
as the constructor's argument::
 | 
			
		||||
 | 
			
		||||
@@ -325,7 +325,7 @@ Its value can take any of the following constants:
 | 
			
		||||
:const:`mongoengine.PULL`
 | 
			
		||||
  Removes the reference to the object (using MongoDB's "pull" operation)
 | 
			
		||||
  from any object's fields of
 | 
			
		||||
  :class:`~mongoengine.ListField` (:class:`~mongoengine.ReferenceField`).
 | 
			
		||||
  :class:`~mongoengine.fields.ListField` (:class:`~mongoengine.fields.ReferenceField`).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
@@ -352,7 +352,7 @@ Its value can take any of the following constants:
 | 
			
		||||
Generic reference fields
 | 
			
		||||
''''''''''''''''''''''''
 | 
			
		||||
A second kind of reference field also exists,
 | 
			
		||||
:class:`~mongoengine.GenericReferenceField`. This allows you to reference any
 | 
			
		||||
:class:`~mongoengine.fields.GenericReferenceField`. This allows you to reference any
 | 
			
		||||
kind of :class:`~mongoengine.Document`, and hence doesn't take a
 | 
			
		||||
:class:`~mongoengine.Document` subclass as a constructor argument::
 | 
			
		||||
 | 
			
		||||
@@ -376,15 +376,15 @@ kind of :class:`~mongoengine.Document`, and hence doesn't take a
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
 | 
			
		||||
   Using :class:`~mongoengine.GenericReferenceField`\ s is slightly less
 | 
			
		||||
   efficient than the standard :class:`~mongoengine.ReferenceField`\ s, so if
 | 
			
		||||
   Using :class:`~mongoengine.fields.GenericReferenceField`\ s is slightly less
 | 
			
		||||
   efficient than the standard :class:`~mongoengine.fields.ReferenceField`\ s, so if
 | 
			
		||||
   you will only be referencing one document type, prefer the standard
 | 
			
		||||
   :class:`~mongoengine.ReferenceField`.
 | 
			
		||||
   :class:`~mongoengine.fields.ReferenceField`.
 | 
			
		||||
 | 
			
		||||
Uniqueness constraints
 | 
			
		||||
----------------------
 | 
			
		||||
MongoEngine allows you to specify that a field should be unique across a
 | 
			
		||||
collection by providing ``unique=True`` to a :class:`~mongoengine.Field`\ 's
 | 
			
		||||
collection by providing ``unique=True`` to a :class:`~mongoengine.fields.Field`\ 's
 | 
			
		||||
constructor. If you try to save a document that has the same value for a unique
 | 
			
		||||
field as a document that is already in the database, a
 | 
			
		||||
:class:`~mongoengine.OperationError` will be raised. You may also specify
 | 
			
		||||
@@ -492,11 +492,11 @@ Geospatial indexes
 | 
			
		||||
------------------
 | 
			
		||||
 | 
			
		||||
Geospatial indexes will be automatically created for all
 | 
			
		||||
:class:`~mongoengine.GeoPointField`\ s
 | 
			
		||||
:class:`~mongoengine.fields.GeoPointField`\ s
 | 
			
		||||
 | 
			
		||||
It is also possible to explicitly define geospatial indexes. This is
 | 
			
		||||
useful if you need to define a geospatial index on a subfield of a
 | 
			
		||||
:class:`~mongoengine.DictField` or a custom field that contains a
 | 
			
		||||
:class:`~mongoengine.fields.DictField` or a custom field that contains a
 | 
			
		||||
point. To create a geospatial index you must prefix the field with the
 | 
			
		||||
***** sign. ::
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -68,8 +68,8 @@ document values for example::
 | 
			
		||||
 | 
			
		||||
Cascading Saves
 | 
			
		||||
---------------
 | 
			
		||||
If your document contains :class:`~mongoengine.ReferenceField` or
 | 
			
		||||
:class:`~mongoengine.GenericReferenceField` objects, then by default the
 | 
			
		||||
If your document contains :class:`~mongoengine.fields.ReferenceField` or
 | 
			
		||||
:class:`~mongoengine.fields.GenericReferenceField` objects, then by default the
 | 
			
		||||
:meth:`~mongoengine.Document.save` method will automatically save any changes to
 | 
			
		||||
those objects as well.  If this is not desired passing :attr:`cascade` as False
 | 
			
		||||
to the save method turns this feature off.
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ GridFS
 | 
			
		||||
Writing
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
GridFS support comes in the form of the :class:`~mongoengine.FileField` field
 | 
			
		||||
GridFS support comes in the form of the :class:`~mongoengine.fields.FileField` field
 | 
			
		||||
object. This field acts as a file-like object and provides a couple of
 | 
			
		||||
different ways of inserting and retrieving data. Arbitrary metadata such as
 | 
			
		||||
content type can also be stored alongside the files. In the following example,
 | 
			
		||||
@@ -27,7 +27,7 @@ a document is created to store details about animals, including a photo::
 | 
			
		||||
Retrieval
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
So using the :class:`~mongoengine.FileField` is just like using any other
 | 
			
		||||
So using the :class:`~mongoengine.fields.FileField` is just like using any other
 | 
			
		||||
field. The file can also be retrieved just as easily::
 | 
			
		||||
 | 
			
		||||
    marmot = Animal.objects(genus='Marmota').first()
 | 
			
		||||
@@ -37,7 +37,7 @@ field. The file can also be retrieved just as easily::
 | 
			
		||||
Streaming
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
Streaming data into a :class:`~mongoengine.FileField` is achieved in a
 | 
			
		||||
Streaming data into a :class:`~mongoengine.fields.FileField` is achieved in a
 | 
			
		||||
slightly different manner.  First, a new file must be created by calling the
 | 
			
		||||
:func:`new_file` method. Data can then be written using :func:`write`::
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,7 @@ expressions:
 | 
			
		||||
* ``match``  -- performs an $elemMatch so you can match an entire document within an array
 | 
			
		||||
 | 
			
		||||
There are a few special operators for performing geographical queries, that
 | 
			
		||||
may used with :class:`~mongoengine.GeoPointField`\ s:
 | 
			
		||||
may used with :class:`~mongoengine.fields.GeoPointField`\ s:
 | 
			
		||||
 | 
			
		||||
* ``within_distance`` -- provide a list containing a point and a maximum
 | 
			
		||||
  distance (e.g. [(41.342, -87.653), 5])
 | 
			
		||||
@@ -100,7 +100,7 @@ Querying lists
 | 
			
		||||
--------------
 | 
			
		||||
On most fields, this syntax will look up documents where the field specified
 | 
			
		||||
matches the given value exactly, but when the field refers to a
 | 
			
		||||
:class:`~mongoengine.ListField`, a single item may be provided, in which case
 | 
			
		||||
:class:`~mongoengine.fields.ListField`, a single item may be provided, in which case
 | 
			
		||||
lists that contain that item will be matched::
 | 
			
		||||
 | 
			
		||||
    class Page(Document):
 | 
			
		||||
@@ -319,7 +319,7 @@ Retrieving a subset of fields
 | 
			
		||||
Sometimes a subset of fields on a :class:`~mongoengine.Document` is required,
 | 
			
		||||
and for efficiency only these should be retrieved from the database. This issue
 | 
			
		||||
is especially important for MongoDB, as fields may often be extremely large
 | 
			
		||||
(e.g. a :class:`~mongoengine.ListField` of
 | 
			
		||||
(e.g. a :class:`~mongoengine.fields.ListField` of
 | 
			
		||||
:class:`~mongoengine.EmbeddedDocument`\ s, which represent the comments on a
 | 
			
		||||
blog post. To select only a subset of fields, use
 | 
			
		||||
:meth:`~mongoengine.queryset.QuerySet.only`, specifying the fields you want to
 | 
			
		||||
@@ -351,14 +351,14 @@ If you later need the missing fields, just call
 | 
			
		||||
Getting related data
 | 
			
		||||
--------------------
 | 
			
		||||
 | 
			
		||||
When iterating the results of :class:`~mongoengine.ListField` or
 | 
			
		||||
:class:`~mongoengine.DictField` we automatically dereference any
 | 
			
		||||
When iterating the results of :class:`~mongoengine.fields.ListField` or
 | 
			
		||||
:class:`~mongoengine.fields.DictField` we automatically dereference any
 | 
			
		||||
:class:`~pymongo.dbref.DBRef` objects as efficiently as possible, reducing the
 | 
			
		||||
number the queries to mongo.
 | 
			
		||||
 | 
			
		||||
There are times when that efficiency is not enough, documents that have
 | 
			
		||||
:class:`~mongoengine.ReferenceField` objects or
 | 
			
		||||
:class:`~mongoengine.GenericReferenceField` objects at the top level are
 | 
			
		||||
:class:`~mongoengine.fields.ReferenceField` objects or
 | 
			
		||||
:class:`~mongoengine.fields.GenericReferenceField` objects at the top level are
 | 
			
		||||
expensive as the number of queries to MongoDB can quickly rise.
 | 
			
		||||
 | 
			
		||||
To limit the number of queries use
 | 
			
		||||
@@ -541,7 +541,7 @@ Javascript code. When accessing a field on a collection object, use
 | 
			
		||||
square-bracket notation, and prefix the MongoEngine field name with a tilde.
 | 
			
		||||
The field name that follows the tilde will be translated to the name used in
 | 
			
		||||
the database. Note that when referring to fields on embedded documents,
 | 
			
		||||
the name of the :class:`~mongoengine.EmbeddedDocumentField`, followed by a dot,
 | 
			
		||||
the name of the :class:`~mongoengine.fields.EmbeddedDocumentField`, followed by a dot,
 | 
			
		||||
should be used before the name of the field on the embedded document. The
 | 
			
		||||
following example shows how the substitutions are made::
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -115,7 +115,7 @@ by setting :attr:`allow_inheritance` to True in the :attr:`meta`::
 | 
			
		||||
        link_url = StringField()
 | 
			
		||||
 | 
			
		||||
We are storing a reference to the author of the posts using a
 | 
			
		||||
:class:`~mongoengine.ReferenceField` object. These are similar to foreign key
 | 
			
		||||
:class:`~mongoengine.fields.ReferenceField` object. These are similar to foreign key
 | 
			
		||||
fields in traditional ORMs, and are automatically translated into references
 | 
			
		||||
when they are saved, and dereferenced when they are loaded.
 | 
			
		||||
 | 
			
		||||
@@ -137,7 +137,7 @@ size of our database. So let's take a look that the code our modified
 | 
			
		||||
        author = ReferenceField(User)
 | 
			
		||||
        tags = ListField(StringField(max_length=30))
 | 
			
		||||
 | 
			
		||||
The :class:`~mongoengine.ListField` object that is used to define a Post's tags
 | 
			
		||||
The :class:`~mongoengine.fields.ListField` object that is used to define a Post's tags
 | 
			
		||||
takes a field object as its first argument --- this means that you can have
 | 
			
		||||
lists of any type of field (including lists).
 | 
			
		||||
 | 
			
		||||
@@ -174,7 +174,7 @@ We can then store a list of comment documents in our post document::
 | 
			
		||||
Handling deletions of references
 | 
			
		||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
			
		||||
 | 
			
		||||
The :class:`~mongoengine.ReferenceField` object takes a keyword
 | 
			
		||||
The :class:`~mongoengine.fields.ReferenceField` object takes a keyword
 | 
			
		||||
`reverse_delete_rule` for handling deletion rules if the reference is deleted.
 | 
			
		||||
To delete all the posts if a user is deleted set the rule::
 | 
			
		||||
 | 
			
		||||
@@ -184,7 +184,7 @@ To delete all the posts if a user is deleted set the rule::
 | 
			
		||||
        tags = ListField(StringField(max_length=30))
 | 
			
		||||
        comments = ListField(EmbeddedDocumentField(Comment))
 | 
			
		||||
 | 
			
		||||
See :class:`~mongoengine.ReferenceField` for more information.
 | 
			
		||||
See :class:`~mongoengine.fields.ReferenceField` for more information.
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
    MapFields and DictFields currently don't support automatic handling of
 | 
			
		||||
 
 | 
			
		||||
@@ -120,6 +120,9 @@ eg::
 | 
			
		||||
        p._mark_as_dirty('friends')
 | 
			
		||||
        p.save()
 | 
			
		||||
 | 
			
		||||
`An example test migration is available on github
 | 
			
		||||
<https://github.com/MongoEngine/mongoengine/blob/master/tests/migration/refrencefield_dbref_to_object_id.py>`_.
 | 
			
		||||
 | 
			
		||||
UUIDField
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
@@ -145,6 +148,9 @@ eg::
 | 
			
		||||
        a._mark_as_dirty('uuid')
 | 
			
		||||
        a.save()
 | 
			
		||||
 | 
			
		||||
`An example test migration is available on github
 | 
			
		||||
<https://github.com/MongoEngine/mongoengine/blob/master/tests/migration/uuidfield_to_binary.py>`_.
 | 
			
		||||
 | 
			
		||||
DecimalField
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
@@ -172,7 +178,10 @@ eg::
 | 
			
		||||
        p.save()
 | 
			
		||||
 | 
			
		||||
.. note:: DecimalField's have also been improved with the addition of precision
 | 
			
		||||
    and rounding.  See :class:`~mongoengine.DecimalField` for more information.
 | 
			
		||||
    and rounding.  See :class:`~mongoengine.fields.DecimalField` for more information.
 | 
			
		||||
 | 
			
		||||
`An example test migration is available on github
 | 
			
		||||
<https://github.com/MongoEngine/mongoengine/blob/master/tests/migration/decimalfield_as_float.py>`_.
 | 
			
		||||
 | 
			
		||||
Cascading Saves
 | 
			
		||||
---------------
 | 
			
		||||
 
 | 
			
		||||
@@ -559,7 +559,7 @@ class DynamicDocument(Document):
 | 
			
		||||
    way as an ordinary document but has expando style properties.  Any data
 | 
			
		||||
    passed or set against the :class:`~mongoengine.DynamicDocument` that is
 | 
			
		||||
    not a field is automatically converted into a
 | 
			
		||||
    :class:`~mongoengine.DynamicField` and data can be attributed to that
 | 
			
		||||
    :class:`~mongoengine.fields.DynamicField` and data can be attributed to that
 | 
			
		||||
    field.
 | 
			
		||||
 | 
			
		||||
    .. note::
 | 
			
		||||
 
 | 
			
		||||
@@ -782,7 +782,7 @@ class ReferenceField(BaseField):
 | 
			
		||||
      * NULLIFY     - Updates the reference to null.
 | 
			
		||||
      * CASCADE     - Deletes the documents associated with the reference.
 | 
			
		||||
      * DENY        - Prevent the deletion of the reference object.
 | 
			
		||||
      * PULL        - Pull the reference from a :class:`~mongoengine.ListField`
 | 
			
		||||
      * PULL        - Pull the reference from a :class:`~mongoengine.fields.ListField`
 | 
			
		||||
                      of references
 | 
			
		||||
 | 
			
		||||
    Alternative syntax for registering delete rules (useful when implementing
 | 
			
		||||
 
 | 
			
		||||
@@ -1049,7 +1049,7 @@ class QuerySet(object):
 | 
			
		||||
        """)
 | 
			
		||||
 | 
			
		||||
        for result in self.map_reduce(map_func, reduce_func,
 | 
			
		||||
                            finalize_f=finalize_func, output='inline'):
 | 
			
		||||
                                      finalize_f=finalize_func, output='inline'):
 | 
			
		||||
            return result.value
 | 
			
		||||
        else:
 | 
			
		||||
            return 0
 | 
			
		||||
@@ -1062,11 +1062,11 @@ class QuerySet(object):
 | 
			
		||||
        .. note::
 | 
			
		||||
 | 
			
		||||
            Can only do direct simple mappings and cannot map across
 | 
			
		||||
            :class:`~mongoengine.ReferenceField` or
 | 
			
		||||
            :class:`~mongoengine.GenericReferenceField` for more complex
 | 
			
		||||
            :class:`~mongoengine.fields.ReferenceField` or
 | 
			
		||||
            :class:`~mongoengine.fields.GenericReferenceField` for more complex
 | 
			
		||||
            counting a manual map reduce call would is required.
 | 
			
		||||
 | 
			
		||||
        If the field is a :class:`~mongoengine.ListField`, the items within
 | 
			
		||||
        If the field is a :class:`~mongoengine.fields.ListField`, the items within
 | 
			
		||||
        each list will be counted individually.
 | 
			
		||||
 | 
			
		||||
        :param field: the field to use
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user