MongoEngine 0.6 发布,用于Python访问 MongoDB 数据库
openkk 13年前
<p><a href="http://www.open-open.com/lib/view/open1330961799452.html" target="_blank">MongoEngine </a>0.6 发布了,MongoEngine由Python语言写成,提供一个很类似<a href="http://www.open-open.com/lib/view/open1323606885984.html">Django</a> ORM的API 用于访问 <a href="http://www.open-open.com/lib/view/open1324364690483.html">MongoDB</a> 数据库。</p> <p>详细的改进记录:</p> <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>