<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Changelog — MongoEngine 0.7.9 documentation</title> <link rel="stylesheet" href="_static/nature.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '', VERSION: '0.7.9', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <link rel="top" title="MongoEngine 0.7.9 documentation" href="index.html" /> <link rel="next" title="Upgrading" href="upgrade.html" /> <link rel="prev" title="Using MongoEngine with Django" href="django.html" /> </head> <body> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="upgrade.html" title="Upgrading" accesskey="N">next</a> |</li> <li class="right" > <a href="django.html" title="Using MongoEngine with Django" accesskey="P">previous</a> |</li> <li><a href="index.html">MongoEngine 0.7.9 documentation</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="changelog"> <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1> <div class="section" id="changes-in-0-7-9"> <h2>Changes in 0.7.9<a class="headerlink" href="#changes-in-0-7-9" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Better fix handling for old style _types</li> <li>Embedded SequenceFields follow collection naming convention</li> </ul> </div> <div class="section" id="changes-in-0-7-8"> <h2>Changes in 0.7.8<a class="headerlink" href="#changes-in-0-7-8" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fix sequence fields in embedded documents (MongoEngine/mongoengine#166)</li> <li>Fix query chaining with .order_by() (MongoEngine/mongoengine#176)</li> <li>Added optional encoding and collection config for Django sessions (MongoEngine/mongoengine#180, MongoEngine/mongoengine#181, MongoEngine/mongoengine#183)</li> <li>Fixed EmailField so can add extra validation (MongoEngine/mongoengine#173, MongoEngine/mongoengine#174, MongoEngine/mongoengine#187)</li> <li>Fixed bulk inserts can now handle custom pk’s (MongoEngine/mongoengine#192)</li> <li>Added as_pymongo method to return raw or cast results from pymongo (MongoEngine/mongoengine#193)</li> </ul> </div> <div class="section" id="changes-in-0-7-7"> <h2>Changes in 0.7.7<a class="headerlink" href="#changes-in-0-7-7" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fix handling for old style _types</li> </ul> </div> <div class="section" id="changes-in-0-7-6"> <h2>Changes in 0.7.6<a class="headerlink" href="#changes-in-0-7-6" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Unicode fix for repr (MongoEngine/mongoengine#133)</li> <li>Allow updates with match operators (MongoEngine/mongoengine#144)</li> <li>Updated URLField - now can have a override the regex (MongoEngine/mongoengine#136)</li> <li>Allow Django AuthenticationBackends to work with Django user (hmarr/mongoengine#573)</li> <li>Fixed reload issue with ReferenceField where dbref=False (MongoEngine/mongoengine#138)</li> </ul> </div> <div class="section" id="changes-in-0-7-5"> <h2>Changes in 0.7.5<a class="headerlink" href="#changes-in-0-7-5" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>ReferenceFields with dbref=False use ObjectId instead of strings (MongoEngine/mongoengine#134) See ticket for upgrade notes (<a class="reference external" href="https://github.com/MongoEngine/mongoengine/issues/134">https://github.com/MongoEngine/mongoengine/issues/134</a>)</li> </ul> </div> <div class="section" id="changes-in-0-7-4"> <h2>Changes in 0.7.4<a class="headerlink" href="#changes-in-0-7-4" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed index inheritance issues - firmed up testcases (MongoEngine/mongoengine#123) (MongoEngine/mongoengine#125)</li> </ul> </div> <div class="section" id="changes-in-0-7-3"> <h2>Changes in 0.7.3<a class="headerlink" href="#changes-in-0-7-3" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Reverted EmbeddedDocuments meta handling - now can turn off inheritance (MongoEngine/mongoengine#119)</li> </ul> </div> <div class="section" id="changes-in-0-7-2"> <h2>Changes in 0.7.2<a class="headerlink" href="#changes-in-0-7-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Update index spec generation so its not destructive (MongoEngine/mongoengine#113)</li> </ul> </div> <div class="section" id="changes-in-0-7-1"> <h2>Changes in 0.7.1<a class="headerlink" href="#changes-in-0-7-1" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed index spec inheritance (MongoEngine/mongoengine#111)</li> </ul> </div> <div class="section" id="changes-in-0-7-0"> <h2>Changes in 0.7.0<a class="headerlink" href="#changes-in-0-7-0" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Updated queryset.delete so you can use with skip / limit (MongoEngine/mongoengine#107)</li> <li>Updated index creation allows kwargs to be passed through refs (MongoEngine/mongoengine#104)</li> <li>Fixed Q object merge edge case (MongoEngine/mongoengine#109)</li> <li>Fixed reloading on sharded documents (hmarr/mongoengine#569)</li> <li>Added NotUniqueError for duplicate keys (MongoEngine/mongoengine#62)</li> <li>Added custom collection / sequence naming for SequenceFields (MongoEngine/mongoengine#92)</li> <li>Fixed UnboundLocalError in composite index with pk field (MongoEngine/mongoengine#88)</li> <li>Updated ReferenceField’s to optionally store ObjectId strings this will become the default in 0.8 (MongoEngine/mongoengine#89)</li> <li>Added FutureWarning - save will default to <cite>cascade=False</cite> in 0.8</li> <li>Added example of indexing embedded document fields (MongoEngine/mongoengine#75)</li> <li>Fixed ImageField resizing when forcing size (MongoEngine/mongoengine#80)</li> <li>Add flexibility for fields handling bad data (MongoEngine/mongoengine#78)</li> <li>Embedded Documents no longer handle meta definitions</li> <li>Use weakref proxies in base lists / dicts (MongoEngine/mongoengine#74)</li> <li>Improved queryset filtering (hmarr/mongoengine#554)</li> <li>Fixed Dynamic Documents and Embedded Documents (hmarr/mongoengine#561)</li> <li>Fixed abstract classes and shard keys (MongoEngine/mongoengine#64)</li> <li>Fixed Python 2.5 support</li> <li>Added Python 3 support (thanks to Laine Heron)</li> </ul> </div> <div class="section" id="changes-in-0-6-20"> <h2>Changes in 0.6.20<a class="headerlink" href="#changes-in-0-6-20" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added support for distinct and db_alias (MongoEngine/mongoengine#59)</li> <li>Improved support for chained querysets when constraining the same fields (hmarr/mongoengine#554)</li> <li>Fixed BinaryField lookup re (MongoEngine/mongoengine#48)</li> </ul> </div> <div class="section" id="changes-in-0-6-19"> <h2>Changes in 0.6.19<a class="headerlink" href="#changes-in-0-6-19" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added Binary support to UUID (MongoEngine/mongoengine#47)</li> <li>Fixed MapField lookup for fields without declared lookups (MongoEngine/mongoengine#46)</li> <li>Fixed BinaryField python value issue (MongoEngine/mongoengine#48)</li> <li>Fixed SequenceField non numeric value lookup (MongoEngine/mongoengine#41)</li> <li>Fixed queryset manager issue (MongoEngine/mongoengine#52)</li> <li>Fixed FileField comparision (hmarr/mongoengine#547)</li> </ul> </div> <div class="section" id="changes-in-0-6-18"> <h2>Changes in 0.6.18<a class="headerlink" href="#changes-in-0-6-18" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed recursion loading bug in _get_changed_fields</li> </ul> </div> <div class="section" id="changes-in-0-6-17"> <h2>Changes in 0.6.17<a class="headerlink" href="#changes-in-0-6-17" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed issue with custom queryset manager expecting explict variable names</li> </ul> </div> <div class="section" id="changes-in-0-6-16"> <h2>Changes in 0.6.16<a class="headerlink" href="#changes-in-0-6-16" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed issue where db_alias wasn’t inherited</li> </ul> </div> <div class="section" id="changes-in-0-6-15"> <h2>Changes in 0.6.15<a class="headerlink" href="#changes-in-0-6-15" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Updated validation error messages</li> <li>Added support for null / zero / false values in item_frequencies</li> <li>Fixed cascade save edge case</li> <li>Fixed geo index creation through reference fields</li> <li>Added support for args / kwargs when using @queryset_manager</li> <li>Deref list custom id fix</li> </ul> </div> <div class="section" id="changes-in-0-6-14"> <h2>Changes in 0.6.14<a class="headerlink" href="#changes-in-0-6-14" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed error dict with nested validation</li> <li>Fixed Int/Float fields and not equals None</li> <li>Exclude tests from installation</li> <li>Allow tuples for index meta</li> <li>Fixed use of str in instance checks</li> <li>Fixed unicode support in transform update</li> <li>Added support for add_to_set and each</li> </ul> </div> <div class="section" id="changes-in-0-6-13"> <h2>Changes in 0.6.13<a class="headerlink" href="#changes-in-0-6-13" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed EmbeddedDocument db_field validation issue</li> <li>Fixed StringField unicode issue</li> <li>Fixes __repr__ modifying the cursor</li> </ul> </div> <div class="section" id="changes-in-0-6-12"> <h2>Changes in 0.6.12<a class="headerlink" href="#changes-in-0-6-12" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixes scalar lookups for primary_key</li> <li>Fixes error with _delta handling DBRefs</li> </ul> </div> <div class="section" id="changes-in-0-6-11"> <h2>Changes in 0.6.11<a class="headerlink" href="#changes-in-0-6-11" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed inconsistency handling None values field attrs</li> <li>Fixed map_field embedded db_field issue</li> <li>Fixed .save() _delta issue with DbRefs</li> <li>Fixed Django TestCase</li> <li>Added cmp to Embedded Document</li> <li>Added PULL reverse_delete_rule</li> <li>Fixed CASCADE delete bug</li> <li>Fixed db_field data load error</li> <li>Fixed recursive save with FileField</li> </ul> </div> <div class="section" id="changes-in-0-6-10"> <h2>Changes in 0.6.10<a class="headerlink" href="#changes-in-0-6-10" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed basedict / baselist to return super(..)</li> <li>Promoted BaseDynamicField to DynamicField</li> </ul> </div> <div class="section" id="changes-in-0-6-9"> <h2>Changes in 0.6.9<a class="headerlink" href="#changes-in-0-6-9" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed sparse indexes on inherited docs</li> <li>Removed FileField auto deletion, needs more work maybe 0.7</li> </ul> </div> <div class="section" id="changes-in-0-6-8"> <h2>Changes in 0.6.8<a class="headerlink" href="#changes-in-0-6-8" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed FileField losing reference when no default set</li> <li>Removed possible race condition from FileField (grid_file)</li> <li>Added assignment to save, can now do: <cite>b = MyDoc(**kwargs).save()</cite></li> <li>Added support for pull operations on nested EmbeddedDocuments</li> <li>Added support for choices with GenericReferenceFields</li> <li>Added support for choices with GenericEmbeddedDocumentFields</li> <li>Fixed Django 1.4 sessions first save data loss</li> <li>FileField now automatically delete files on .delete()</li> <li>Fix for GenericReference to_mongo method</li> <li>Fixed connection regression</li> <li>Updated Django User document, now allows inheritance</li> </ul> </div> <div class="section" id="changes-in-0-6-7"> <h2>Changes in 0.6.7<a class="headerlink" href="#changes-in-0-6-7" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed indexing on ‘_id’ or ‘pk’ or ‘id’</li> <li>Invalid data from the DB now raises a InvalidDocumentError</li> <li>Cleaned up the Validation Error - docs and code</li> <li>Added meta <cite>auto_create_index</cite> so you can disable index creation</li> <li>Added write concern options to inserts</li> <li>Fixed typo in meta for index options</li> <li>Bug fix Read preference now passed correctly</li> <li>Added support for File like objects for GridFS</li> <li>Fix for #473 - Dereferencing abstracts</li> </ul> </div> <div class="section" id="changes-in-0-6-6"> <h2>Changes in 0.6.6<a class="headerlink" href="#changes-in-0-6-6" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Django 1.4 fixed (finally)</li> <li>Added tests for Django</li> </ul> </div> <div class="section" id="changes-in-0-6-5"> <h2>Changes in 0.6.5<a class="headerlink" href="#changes-in-0-6-5" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>More Django updates</li> </ul> </div> <div class="section" id="changes-in-0-6-4"> <h2>Changes in 0.6.4<a class="headerlink" href="#changes-in-0-6-4" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Refactored connection / fixed replicasetconnection</li> <li>Bug fix for unknown connection alias error message</li> <li>Sessions support Django 1.3 and Django 1.4</li> <li>Minor fix for ReferenceField</li> </ul> </div> <div class="section" id="changes-in-0-6-3"> <h2>Changes in 0.6.3<a class="headerlink" href="#changes-in-0-6-3" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Updated sessions for Django 1.4</li> <li>Bug fix for updates where listfields contain embedded documents</li> <li>Bug fix for collection naming and mixins</li> </ul> </div> <div class="section" id="changes-in-0-6-2"> <h2>Changes in 0.6.2<a class="headerlink" href="#changes-in-0-6-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Updated documentation for ReplicaSet connections</li> <li>Hack round _types issue with SERVER-5247 - querying other arrays may also cause problems.</li> </ul> </div> <div class="section" id="changes-in-0-6-1"> <h2>Changes in 0.6.1<a class="headerlink" href="#changes-in-0-6-1" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fix for replicaSet connections</li> </ul> </div> <div class="section" id="changes-in-0-6"> <h2>Changes in 0.6<a class="headerlink" href="#changes-in-0-6" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added FutureWarning to inherited classes not declaring ‘allow_inheritance’ as the default will change in 0.7</li> <li>Added support for covered indexes when inheritance is off</li> <li>No longer always upsert on save for items with a ‘_id’</li> <li>Error raised if update doesn’t have an operation</li> <li>DeReferencing is now thread safe</li> <li>Errors raised if trying to perform a join in a query</li> <li>Updates can now take __raw__ queries</li> <li>Added custom 2D index declarations</li> <li>Added replicaSet connection support</li> <li>Updated deprecated imports from pymongo (safe for pymongo 2.2)</li> <li>Added uri support for connections</li> <li>Added scalar for efficiently returning partial data values (aliased to values_list)</li> <li>Fixed limit skip bug</li> <li>Improved Inheritance / Mixin</li> <li>Added sharding support</li> <li>Added pymongo 2.1 support</li> <li>Fixed Abstract documents can now declare indexes</li> <li>Added db_alias support to individual documents</li> <li>Fixed GridFS documents can now be pickled</li> <li>Added Now raises an InvalidDocumentError when declaring multiple fields with the same db_field</li> <li>Added InvalidQueryError when calling with_id with a filter</li> <li>Added support for DBRefs in distinct()</li> <li>Fixed issue saving False booleans</li> <li>Fixed issue with dynamic documents deltas</li> <li>Added Reverse Delete Rule support to ListFields - MapFields aren’t supported</li> <li>Added customisable cascade kwarg options</li> <li>Fixed Handle None values for non-required fields</li> <li>Removed Document._get_subclasses() - no longer required</li> <li>Fixed bug requiring subclasses when not actually needed</li> <li>Fixed deletion of dynamic data</li> <li>Added support for the $elementMatch operator</li> <li>Added reverse option to SortedListFields</li> <li>Fixed dereferencing - multi directional list dereferencing</li> <li>Fixed issue creating indexes with recursive embedded documents</li> <li>Fixed recursive lookup in _unique_with_indexes</li> <li>Fixed passing ComplexField defaults to constructor for ReferenceFields</li> <li>Fixed validation of DictField Int keys</li> <li>Added optional cascade saving</li> <li>Fixed dereferencing - max_depth now taken into account</li> <li>Fixed document mutation saving issue</li> <li>Fixed positional operator when replacing embedded documents</li> <li>Added Non-Django Style choices back (you can have either)</li> <li>Fixed __repr__ of a sliced queryset</li> <li>Added recursive validation error of documents / complex fields</li> <li>Fixed breaking during queryset iteration</li> <li>Added pre and post bulk-insert signals</li> <li>Added ImageField - requires PIL</li> <li>Fixed Reference Fields can be None in get_or_create / queries</li> <li>Fixed accessing pk on an embedded document</li> <li>Fixed calling a queryset after drop_collection now recreates the collection</li> <li>Add field name to validation exception messages</li> <li>Added UUID field</li> <li>Improved efficiency of .get()</li> <li>Updated ComplexFields so if required they won’t accept empty lists / dicts</li> <li>Added spec file for rpm-based distributions</li> <li>Fixed ListField so it doesnt accept strings</li> <li>Added DynamicDocument and EmbeddedDynamicDocument classes for expando schemas</li> </ul> </div> <div class="section" id="changes-in-v0-5-2"> <h2>Changes in v0.5.2<a class="headerlink" href="#changes-in-v0-5-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>A Robust Circular reference bugfix</li> </ul> </div> <div class="section" id="changes-in-v0-5-1"> <h2>Changes in v0.5.1<a class="headerlink" href="#changes-in-v0-5-1" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed simple circular reference bug</li> </ul> </div> <div class="section" id="changes-in-v0-5"> <h2>Changes in v0.5<a class="headerlink" href="#changes-in-v0-5" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added InvalidDocumentError - so Document core methods can’t be overwritten</li> <li>Added GenericEmbeddedDocument - so you can embed any type of embeddable document</li> <li>Added within_polygon support - for those with mongodb 1.9</li> <li>Updated sum / average to use map_reduce as db.eval doesn’t work in sharded environments</li> <li>Added where() - filter to allowing users to specify query expressions as Javascript</li> <li>Added SequenceField - for creating sequential counters</li> <li>Added update() convenience method to a document</li> <li>Added cascading saves - so changes to Referenced documents are saved on .save()</li> <li>Added select_related() support</li> <li>Added support for the positional operator</li> <li>Updated geo index checking to be recursive and check in embedded documents</li> <li>Updated default collection naming convention</li> <li>Added Document Mixin support</li> <li>Fixed queryet __repr__ mid iteration</li> <li>Added hint() support, so cantell Mongo the proper index to use for the query</li> <li>Fixed issue with inconsitent setting of _cls breaking inherited referencing</li> <li>Added help_text and verbose_name to fields to help with some form libs</li> <li>Updated item_frequencies to handle embedded document lookups</li> <li>Added delta tracking now only sets / unsets explicitly changed fields</li> <li>Fixed saving so sets updated values rather than overwrites</li> <li>Added ComplexDateTimeField - Handles datetimes correctly with microseconds</li> <li>Added ComplexBaseField - for improved flexibility and performance</li> <li>Added get_FIELD_display() method for easy choice field displaying</li> <li>Added queryset.slave_okay(enabled) method</li> <li>Updated queryset.timeout(enabled) and queryset.snapshot(enabled) to be chainable</li> <li>Added insert method for bulk inserts</li> <li>Added blinker signal support</li> <li>Added query_counter context manager for tests</li> <li>Added map_reduce method item_frequencies and set as default (as db.eval doesn’t work in sharded environments)</li> <li>Added inline_map_reduce option to map_reduce</li> <li>Updated connection exception so it provides more info on the cause.</li> <li>Added searching multiple levels deep in <tt class="docutils literal"><span class="pre">DictField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">DictField</span></tt> entries containing strings to use matching operators</li> <li>Added <tt class="docutils literal"><span class="pre">MapField</span></tt>, similar to <tt class="docutils literal"><span class="pre">DictField</span></tt></li> <li>Added Abstract Base Classes</li> <li>Added Custom Objects Managers</li> <li>Added sliced subfields updating</li> <li>Added <tt class="docutils literal"><span class="pre">NotRegistered</span></tt> exception if dereferencing <tt class="docutils literal"><span class="pre">Document</span></tt> not in the registry</li> <li>Added a write concern for <tt class="docutils literal"><span class="pre">save</span></tt>, <tt class="docutils literal"><span class="pre">update</span></tt>, <tt class="docutils literal"><span class="pre">update_one</span></tt> and <tt class="docutils literal"><span class="pre">get_or_create</span></tt></li> <li>Added slicing / subarray fetching controls</li> <li>Fixed various unique index and other index issues</li> <li>Fixed threaded connection issues</li> <li>Added spherical geospatial query operators</li> <li>Updated queryset to handle latest version of pymongo map_reduce now requires an output.</li> <li>Added <tt class="docutils literal"><span class="pre">Document</span></tt> __hash__, __ne__ for pickling</li> <li>Added <tt class="docutils literal"><span class="pre">FileField</span></tt> optional size arg for read method</li> <li>Fixed <tt class="docutils literal"><span class="pre">FileField</span></tt> seek and tell methods for reading files</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.clone</span></tt> to support copying querysets</li> <li>Fixed item_frequencies when using name thats the same as a native js function</li> <li>Added reverse delete rules</li> <li>Fixed issue with unset operation</li> <li>Fixed Q-object bug</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.all_fields</span></tt> resets previous .only() and .exclude()</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.exclude</span></tt></li> <li>Added django style choices</li> <li>Fixed order and filter issue</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.only</span></tt> subfield support</li> <li>Added creation_counter to <tt class="docutils literal"><span class="pre">BaseField</span></tt> allowing fields to be sorted in the way the user has specified them</li> <li>Fixed various errors</li> <li>Added many tests</li> </ul> </div> <div class="section" id="changes-in-v0-4"> <h2>Changes in v0.4<a class="headerlink" href="#changes-in-v0-4" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added <tt class="docutils literal"><span class="pre">GridFSStorage</span></tt> Django storage backend</li> <li>Added <tt class="docutils literal"><span class="pre">FileField</span></tt> for GridFS support</li> <li>New Q-object implementation, which is no longer based on Javascript</li> <li>Added <tt class="docutils literal"><span class="pre">SortedListField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">EmailField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">GeoPointField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">exact</span></tt> and <tt class="docutils literal"><span class="pre">iexact</span></tt> match operators to <tt class="docutils literal"><span class="pre">QuerySet</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">get_document_or_404</span></tt> and <tt class="docutils literal"><span class="pre">get_list_or_404</span></tt> Django shortcuts</li> <li>Added new query operators for Geo queries</li> <li>Added <tt class="docutils literal"><span class="pre">not</span></tt> query operator</li> <li>Added new update operators: <tt class="docutils literal"><span class="pre">pop</span></tt> and <tt class="docutils literal"><span class="pre">add_to_set</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">__raw__</span></tt> query parameter</li> <li>Added support for custom querysets</li> <li>Fixed document inheritance primary key issue</li> <li>Added support for querying by array element position</li> <li>Base class can now be defined for <tt class="docutils literal"><span class="pre">DictField</span></tt></li> <li>Fixed MRO error that occured on document inheritance</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.distinct</span></tt>, <tt class="docutils literal"><span class="pre">QuerySet.create</span></tt>, <tt class="docutils literal"><span class="pre">QuerySet.snapshot</span></tt>, <tt class="docutils literal"><span class="pre">QuerySet.timeout</span></tt> and <tt class="docutils literal"><span class="pre">QuerySet.all</span></tt></li> <li>Subsequent calls to <tt class="docutils literal"><span class="pre">connect()</span></tt> now work</li> <li>Introduced <tt class="docutils literal"><span class="pre">min_length</span></tt> for <tt class="docutils literal"><span class="pre">StringField</span></tt></li> <li>Fixed multi-process connection issue</li> <li>Other minor fixes</li> </ul> </div> <div class="section" id="changes-in-v0-3"> <h2>Changes in v0.3<a class="headerlink" href="#changes-in-v0-3" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added MapReduce support</li> <li>Added <tt class="docutils literal"><span class="pre">contains</span></tt>, <tt class="docutils literal"><span class="pre">startswith</span></tt> and <tt class="docutils literal"><span class="pre">endswith</span></tt> query operators (and case-insensitive versions that are prefixed with ‘i’)</li> <li>Deprecated fields’ <tt class="docutils literal"><span class="pre">name</span></tt> parameter, replaced with <tt class="docutils literal"><span class="pre">db_field</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.only</span></tt> for only retrieving specific fields</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet.in_bulk()</span></tt> for bulk querying using ids</li> <li><tt class="docutils literal"><span class="pre">QuerySet</span></tt>s now have a <tt class="docutils literal"><span class="pre">rewind()</span></tt> method, which is called automatically when the iterator is exhausted, allowing <tt class="docutils literal"><span class="pre">QuerySet</span></tt>s to be reused</li> <li>Added <tt class="docutils literal"><span class="pre">DictField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">URLField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">DecimalField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">BinaryField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">GenericReferenceField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">get()</span></tt> and <tt class="docutils literal"><span class="pre">get_or_create()</span></tt> methods to <tt class="docutils literal"><span class="pre">QuerySet</span></tt></li> <li><tt class="docutils literal"><span class="pre">ReferenceField</span></tt>s may now reference the document they are defined on (recursive references) and documents that have not yet been defined</li> <li><tt class="docutils literal"><span class="pre">Document</span></tt> objects may now be compared for equality (equal if _ids are equal and documents are of same type)</li> <li><tt class="docutils literal"><span class="pre">QuerySet</span></tt> update methods now have an <tt class="docutils literal"><span class="pre">upsert</span></tt> parameter</li> <li>Added field name substitution for Javascript code (allows the user to use the Python names for fields in JS, which are later substituted for the real field names)</li> <li><tt class="docutils literal"><span class="pre">Q</span></tt> objects now support regex querying</li> <li>Fixed bug where referenced documents within lists weren’t properly dereferenced</li> <li><tt class="docutils literal"><span class="pre">ReferenceField</span></tt>s may now be queried using their _id</li> <li>Fixed bug where <tt class="docutils literal"><span class="pre">EmbeddedDocuments</span></tt> couldn’t be non-polymorphic</li> <li><tt class="docutils literal"><span class="pre">queryset_manager</span></tt> functions now accept two arguments – the document class as the first and the queryset as the second</li> <li>Fixed bug where <tt class="docutils literal"><span class="pre">QuerySet.exec_js</span></tt> ignored <tt class="docutils literal"><span class="pre">Q</span></tt> objects</li> <li>Other minor fixes</li> </ul> </div> <div class="section" id="changes-in-v0-2-2"> <h2>Changes in v0.2.2<a class="headerlink" href="#changes-in-v0-2-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Fixed bug that prevented indexes from being used on <tt class="docutils literal"><span class="pre">ListField</span></tt>s</li> <li><tt class="docutils literal"><span class="pre">Document.filter()</span></tt> added as an alias to <tt class="docutils literal"><span class="pre">Document.__call__()</span></tt></li> <li><tt class="docutils literal"><span class="pre">validate()</span></tt> may now be used on <tt class="docutils literal"><span class="pre">EmbeddedDocument</span></tt>s</li> </ul> </div> <div class="section" id="changes-in-v0-2-1"> <h2>Changes in v0.2.1<a class="headerlink" href="#changes-in-v0-2-1" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added a MongoEngine backend for Django sessions</li> <li>Added <tt class="docutils literal"><span class="pre">force_insert</span></tt> to <tt class="docutils literal"><span class="pre">Document.save()</span></tt></li> <li>Improved querying syntax for <tt class="docutils literal"><span class="pre">ListField</span></tt> and <tt class="docutils literal"><span class="pre">EmbeddedDocumentField</span></tt></li> <li>Added support for user-defined primary keys (<tt class="docutils literal"><span class="pre">_id</span></tt> in MongoDB)</li> </ul> </div> <div class="section" id="changes-in-v0-2"> <h2>Changes in v0.2<a class="headerlink" href="#changes-in-v0-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added <tt class="docutils literal"><span class="pre">Q</span></tt> class for building advanced queries</li> <li>Added <tt class="docutils literal"><span class="pre">QuerySet</span></tt> methods for atomic updates to documents</li> <li>Fields may now specify <tt class="docutils literal"><span class="pre">unique=True</span></tt> to enforce uniqueness across a collection</li> <li>Added option for default document ordering</li> <li>Fixed bug in index definitions</li> </ul> </div> <div class="section" id="changes-in-v0-1-3"> <h2>Changes in v0.1.3<a class="headerlink" href="#changes-in-v0-1-3" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Added Django authentication backend</li> <li>Added <tt class="docutils literal"><span class="pre">Document.meta</span></tt> support for indexes, which are ensured just before querying takes place</li> <li>A few minor bugfixes</li> </ul> </div> <div class="section" id="changes-in-v0-1-2"> <h2>Changes in v0.1.2<a class="headerlink" href="#changes-in-v0-1-2" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Query values may be processed before before being used in queries</li> <li>Made connections lazy</li> <li>Fixed bug in Document dictionary-style access</li> <li>Added <tt class="docutils literal"><span class="pre">BooleanField</span></tt></li> <li>Added <tt class="docutils literal"><span class="pre">Document.reload()</span></tt> method</li> </ul> </div> <div class="section" id="changes-in-v0-1-1"> <h2>Changes in v0.1.1<a class="headerlink" href="#changes-in-v0-1-1" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Documents may now use capped collections</li> </ul> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h3><a href="index.html">Table Of Contents</a></h3> <ul> <li><a class="reference internal" href="#">Changelog</a><ul> <li><a class="reference internal" href="#changes-in-0-7-9">Changes in 0.7.9</a></li> <li><a class="reference internal" href="#changes-in-0-7-8">Changes in 0.7.8</a></li> <li><a class="reference internal" href="#changes-in-0-7-7">Changes in 0.7.7</a></li> <li><a class="reference internal" href="#changes-in-0-7-6">Changes in 0.7.6</a></li> <li><a class="reference internal" href="#changes-in-0-7-5">Changes in 0.7.5</a></li> <li><a class="reference internal" href="#changes-in-0-7-4">Changes in 0.7.4</a></li> <li><a class="reference internal" href="#changes-in-0-7-3">Changes in 0.7.3</a></li> <li><a class="reference internal" href="#changes-in-0-7-2">Changes in 0.7.2</a></li> <li><a class="reference internal" href="#changes-in-0-7-1">Changes in 0.7.1</a></li> <li><a class="reference internal" href="#changes-in-0-7-0">Changes in 0.7.0</a></li> <li><a class="reference internal" href="#changes-in-0-6-20">Changes in 0.6.20</a></li> <li><a class="reference internal" href="#changes-in-0-6-19">Changes in 0.6.19</a></li> <li><a class="reference internal" href="#changes-in-0-6-18">Changes in 0.6.18</a></li> <li><a class="reference internal" href="#changes-in-0-6-17">Changes in 0.6.17</a></li> <li><a class="reference internal" href="#changes-in-0-6-16">Changes in 0.6.16</a></li> <li><a class="reference internal" href="#changes-in-0-6-15">Changes in 0.6.15</a></li> <li><a class="reference internal" href="#changes-in-0-6-14">Changes in 0.6.14</a></li> <li><a class="reference internal" href="#changes-in-0-6-13">Changes in 0.6.13</a></li> <li><a class="reference internal" href="#changes-in-0-6-12">Changes in 0.6.12</a></li> <li><a class="reference internal" href="#changes-in-0-6-11">Changes in 0.6.11</a></li> <li><a class="reference internal" href="#changes-in-0-6-10">Changes in 0.6.10</a></li> <li><a class="reference internal" href="#changes-in-0-6-9">Changes in 0.6.9</a></li> <li><a class="reference internal" href="#changes-in-0-6-8">Changes in 0.6.8</a></li> <li><a class="reference internal" href="#changes-in-0-6-7">Changes in 0.6.7</a></li> <li><a class="reference internal" href="#changes-in-0-6-6">Changes in 0.6.6</a></li> <li><a class="reference internal" href="#changes-in-0-6-5">Changes in 0.6.5</a></li> <li><a class="reference internal" href="#changes-in-0-6-4">Changes in 0.6.4</a></li> <li><a class="reference internal" href="#changes-in-0-6-3">Changes in 0.6.3</a></li> <li><a class="reference internal" href="#changes-in-0-6-2">Changes in 0.6.2</a></li> <li><a class="reference internal" href="#changes-in-0-6-1">Changes in 0.6.1</a></li> <li><a class="reference internal" href="#changes-in-0-6">Changes in 0.6</a></li> <li><a class="reference internal" href="#changes-in-v0-5-2">Changes in v0.5.2</a></li> <li><a class="reference internal" href="#changes-in-v0-5-1">Changes in v0.5.1</a></li> <li><a class="reference internal" href="#changes-in-v0-5">Changes in v0.5</a></li> <li><a class="reference internal" href="#changes-in-v0-4">Changes in v0.4</a></li> <li><a class="reference internal" href="#changes-in-v0-3">Changes in v0.3</a></li> <li><a class="reference internal" href="#changes-in-v0-2-2">Changes in v0.2.2</a></li> <li><a class="reference internal" href="#changes-in-v0-2-1">Changes in v0.2.1</a></li> <li><a class="reference internal" href="#changes-in-v0-2">Changes in v0.2</a></li> <li><a class="reference internal" href="#changes-in-v0-1-3">Changes in v0.1.3</a></li> <li><a class="reference internal" href="#changes-in-v0-1-2">Changes in v0.1.2</a></li> <li><a class="reference internal" href="#changes-in-v0-1-1">Changes in v0.1.1</a></li> </ul> </li> </ul> <h4>Previous topic</h4> <p class="topless"><a href="django.html" title="previous chapter">Using MongoEngine with Django</a></p> <h4>Next topic</h4> <p class="topless"><a href="upgrade.html" title="next chapter">Upgrading</a></p> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="_sources/changelog.txt" rel="nofollow">Show Source</a></li> </ul> <div id="searchbox" style="display: none"> <h3>Quick search</h3> <form class="search" action="search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Enter search terms or a module, class or function name. </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="upgrade.html" title="Upgrading" >next</a> |</li> <li class="right" > <a href="django.html" title="Using MongoEngine with Django" >previous</a> |</li> <li><a href="index.html">MongoEngine 0.7.9 documentation</a> »</li> </ul> </div> <div class="footer"> © Copyright 2009-2012, MongoEngine Authors. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. </div> </body> </html>