MongoEngine 0.6 发布,用于Python访问 MongoDB 数据库

openkk 12年前
     <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>