The previous example of creating bi-directional delete rules was vague since the example defined only one class and the relationship between "Foo" and "Bar" wasn't clear. I added a more explicit example where the relationship between the two classes is explicit.
Overrides prepare_query_value in BinaryField to wrap the query value in
bson.binary.Binary. This was already done in the to_mongo call when
saving a document, but query operations required the user to convert the
value manually.
Fixes https://github.com/MongoEngine/mongoengine/issues/1127
changed followings.
- added optional parameter `container_class` which enables to choose
intermediate class at encoding Python data, instead of additional
field class.
- removed OrderedDocument class because the equivalent feature could
be implemented by the outside of Mongoengine.
* added flake8 and flake8-import-order to travis for py27
* fixed a test that fails from time to time depending on an order of a dict
* flake8 tweaks for the entire codebase excluding tests
The new fix reverted the change on BaseField to_mongo so that it will not force
new field class to add kwargs to to_mongo function. The new derived field class
to_mongo can support use_db_field and fields parameters as needed.
Basically all field classes derived from ComplexBaseField support those parameters.
A class that inherits from an abstract Document type is stored in the database
as a reference with a 'cls' field that is the class name of the document being
stored.
Fixes#837
When I first tried to use the `reverse_delete_rule` feature of
`ReferenceField`, I had to dig through the source code to find what the
actual integer values were expected to be for DO_NOTHING, NULLIFY,
CASCADE, DENY, and PULL (or at least, where these constants were defined
so that I could import and use them). This patch adds the integer values
for those constants (which are defined in mongoengine.queryset.base) to
the docs so that users can easily choose the correct integer value.
Note: A possible improvement on this change would be to include
`mongoengine.queryset.base` module documentation in the generated docs,
and then update the `ReferenceField` docs to link to the documentation
of these constants (DO_NOTHING, NULLIFY, etc.).