Merge branch 'master' into dev
This commit is contained in:
commit
95c58bd793
1
AUTHORS
1
AUTHORS
@ -97,3 +97,4 @@ that much better:
|
||||
* Shalabh Aggarwal
|
||||
* Chris Williams
|
||||
* Robert Kajic
|
||||
* Jacob Peddicord
|
||||
|
@ -2,8 +2,17 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Changes in 0.6.2
|
||||
================
|
||||
- Updated documentation for ReplicaSet connections
|
||||
- Hack round _types issue with SERVER-5247 - querying other arrays may also cause problems.
|
||||
|
||||
Changes in 0.6.1
|
||||
================
|
||||
- Fix for replicaSet connections
|
||||
|
||||
Changes in 0.6
|
||||
==============
|
||||
================
|
||||
|
||||
- Added FutureWarning to inherited classes not declaring 'allow_inheritance' as the default will change in 0.7
|
||||
- Added support for covered indexes when inheritance is off
|
||||
|
@ -26,7 +26,12 @@ name - just supply the uri as the :attr:`host` to
|
||||
|
||||
connect('project1', host='mongodb://localhost/database_name')
|
||||
|
||||
ReplicaSets
|
||||
===========
|
||||
|
||||
MongoEngine now supports :func:`~pymongo.replica_set_connection.ReplicaSetConnection`
|
||||
to use them please use a URI style connection and provide the `replicaSet` name in the
|
||||
connection kwargs.
|
||||
|
||||
Multiple Databases
|
||||
==================
|
||||
|
@ -18,6 +18,8 @@ Document.objects.with_id - now raises an InvalidQueryError if used with a filter
|
||||
FutureWarning - A future warning has been added to all inherited classes that
|
||||
don't define `allow_inheritance` in their meta.
|
||||
|
||||
You may need to update pyMongo to 2.0 for use with Sharding.
|
||||
|
||||
0.4 to 0.5
|
||||
===========
|
||||
|
||||
|
@ -12,7 +12,7 @@ from signals import *
|
||||
__all__ = (document.__all__ + fields.__all__ + connection.__all__ +
|
||||
queryset.__all__ + signals.__all__)
|
||||
|
||||
VERSION = (0, 6, 0)
|
||||
VERSION = (0, 6, 2)
|
||||
|
||||
|
||||
def get_version():
|
||||
|
@ -109,6 +109,7 @@ def get_connection(alias=DEFAULT_CONNECTION_NAME, reconnect=False):
|
||||
|
||||
connection_class = Connection
|
||||
if 'replicaSet' in conn_settings:
|
||||
conn_settings['hosts_or_uri'] = conn_settings.pop('host', None)
|
||||
connection_class = ReplicaSetConnection
|
||||
try:
|
||||
_connections[alias] = connection_class(**conn_settings)
|
||||
|
@ -1371,8 +1371,15 @@ class QuerySet(object):
|
||||
write_options = {}
|
||||
|
||||
update = QuerySet._transform_update(self._document, **update)
|
||||
query = self._query
|
||||
|
||||
# SERVER-5247 hack
|
||||
remove_types = "_types" in query and ".$." in unicode(update)
|
||||
if remove_types:
|
||||
del query["_types"]
|
||||
|
||||
try:
|
||||
ret = self._collection.update(self._query, update, multi=multi,
|
||||
ret = self._collection.update(query, update, multi=multi,
|
||||
upsert=upsert, safe=safe_update,
|
||||
**write_options)
|
||||
if ret is not None and 'n' in ret:
|
||||
@ -1400,10 +1407,17 @@ class QuerySet(object):
|
||||
if not write_options:
|
||||
write_options = {}
|
||||
update = QuerySet._transform_update(self._document, **update)
|
||||
query = self._query
|
||||
|
||||
# SERVER-5247 hack
|
||||
remove_types = "_types" in query and ".$." in unicode(update)
|
||||
if remove_types:
|
||||
del query["_types"]
|
||||
|
||||
try:
|
||||
# Explicitly provide 'multi=False' to newer versions of PyMongo
|
||||
# as the default may change to 'True'
|
||||
ret = self._collection.update(self._query, update, multi=False,
|
||||
ret = self._collection.update(query, update, multi=False,
|
||||
upsert=upsert, safe=safe_update,
|
||||
**write_options)
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
%define srcname mongoengine
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 0.5.3
|
||||
Version: 0.6.2
|
||||
Release: 1%{?dist}
|
||||
Summary: A Python Document-Object Mapper for working with MongoDB
|
||||
|
||||
Group: Development/Libraries
|
||||
License: MIT
|
||||
URL: https://github.com/namlook/mongoengine
|
||||
URL: https://github.com/MongoEngine/mongoengine
|
||||
Source0: %{srcname}-%{version}.tar.bz2
|
||||
|
||||
BuildRequires: python-devel
|
||||
@ -51,6 +51,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
# %{python_sitearch}/*
|
||||
|
||||
%changelog
|
||||
* Mon Mar 05 2012 Ross Lawley <ross.lawley@gmail.com> 0.6
|
||||
- 0.6 released
|
||||
* Thu Oct 27 2011 Pau Aliagas <linuxnow@gmail.com> 0.5.3-1
|
||||
- Update to latest dev version
|
||||
- Add PIL dependency for ImageField
|
||||
|
@ -329,11 +329,11 @@ class QuerySetTest(unittest.TestCase):
|
||||
|
||||
BlogPost(title="ABC", comments=[c1, c2]).save()
|
||||
|
||||
BlogPost.objects(comments__by="joe").update(inc__comments__S__votes=1)
|
||||
BlogPost.objects(comments__by="jane").update(inc__comments__S__votes=1)
|
||||
|
||||
post = BlogPost.objects.first()
|
||||
self.assertEquals(post.comments[0].by, 'joe')
|
||||
self.assertEquals(post.comments[0].votes, 4)
|
||||
self.assertEquals(post.comments[1].by, 'jane')
|
||||
self.assertEquals(post.comments[1].votes, 8)
|
||||
|
||||
# Currently the $ operator only applies to the first matched item in
|
||||
# the query
|
||||
|
Loading…
x
Reference in New Issue
Block a user