Merge branch 'master' into dev
This commit is contained in:
commit
8cfe13ad90
1
AUTHORS
1
AUTHORS
@ -98,3 +98,4 @@ that much better:
|
|||||||
* Chris Williams
|
* Chris Williams
|
||||||
* Robert Kajic
|
* Robert Kajic
|
||||||
* Jacob Peddicord
|
* Jacob Peddicord
|
||||||
|
* Adam Parrish
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
Changes in 0.6.X
|
||||||
|
================
|
||||||
|
- Bug fix for collection naming and mixins
|
||||||
|
|
||||||
Changes in 0.6.2
|
Changes in 0.6.2
|
||||||
================
|
================
|
||||||
- Updated documentation for ReplicaSet connections
|
- Updated documentation for ReplicaSet connections
|
||||||
|
@ -5,15 +5,13 @@ Signals
|
|||||||
|
|
||||||
.. versionadded:: 0.5
|
.. versionadded:: 0.5
|
||||||
|
|
||||||
Signal support is provided by the excellent `blinker`_ library and
|
.. note::
|
||||||
will gracefully fall back if it is not available.
|
|
||||||
|
Signal support is provided by the excellent `blinker`_ library and
|
||||||
|
will gracefully fall back if it is not available.
|
||||||
|
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
The following document signals exist in MongoEngine and are pretty self explanatory:
|
|
||||||
=======
|
|
||||||
The following document signals exist in MongoEngine and are pretty self-explanatory:
|
The following document signals exist in MongoEngine and are pretty self-explanatory:
|
||||||
>>>>>>> master
|
|
||||||
|
|
||||||
* `mongoengine.signals.pre_init`
|
* `mongoengine.signals.pre_init`
|
||||||
* `mongoengine.signals.post_init`
|
* `mongoengine.signals.post_init`
|
||||||
|
@ -8,7 +8,7 @@ import uuid
|
|||||||
from bson import Binary, DBRef, SON, ObjectId
|
from bson import Binary, DBRef, SON, ObjectId
|
||||||
|
|
||||||
from base import (BaseField, ComplexBaseField, ObjectIdField,
|
from base import (BaseField, ComplexBaseField, ObjectIdField,
|
||||||
ValidationError, get_document)
|
ValidationError, get_document, BaseDocument)
|
||||||
from queryset import DO_NOTHING, QuerySet
|
from queryset import DO_NOTHING, QuerySet
|
||||||
from document import Document, EmbeddedDocument
|
from document import Document, EmbeddedDocument
|
||||||
from connection import get_db, DEFAULT_CONNECTION_NAME
|
from connection import get_db, DEFAULT_CONNECTION_NAME
|
||||||
@ -497,6 +497,7 @@ class ListField(ComplexBaseField):
|
|||||||
def prepare_query_value(self, op, value):
|
def prepare_query_value(self, op, value):
|
||||||
if self.field:
|
if self.field:
|
||||||
if op in ('set', 'unset') and (not isinstance(value, basestring)
|
if op in ('set', 'unset') and (not isinstance(value, basestring)
|
||||||
|
and not isinstance(value, BaseDocument)
|
||||||
and hasattr(value, '__iter__')):
|
and hasattr(value, '__iter__')):
|
||||||
return [self.field.prepare_query_value(op, v) for v in value]
|
return [self.field.prepare_query_value(op, v) for v in value]
|
||||||
return self.field.prepare_query_value(op, value)
|
return self.field.prepare_query_value(op, value)
|
||||||
|
@ -1518,6 +1518,37 @@ class QuerySetTest(unittest.TestCase):
|
|||||||
|
|
||||||
BlogPost.drop_collection()
|
BlogPost.drop_collection()
|
||||||
|
|
||||||
|
|
||||||
|
def test_set_list_embedded_documents(self):
|
||||||
|
|
||||||
|
class Author(EmbeddedDocument):
|
||||||
|
name = StringField()
|
||||||
|
|
||||||
|
class Message(Document):
|
||||||
|
title = StringField()
|
||||||
|
authors = ListField(EmbeddedDocumentField('Author'))
|
||||||
|
|
||||||
|
Message.drop_collection()
|
||||||
|
|
||||||
|
message = Message(title="hello", authors=[Author(name="Harry")])
|
||||||
|
message.save()
|
||||||
|
|
||||||
|
Message.objects(authors__name="Harry").update_one(
|
||||||
|
set__authors__S=Author(name="Ross"))
|
||||||
|
|
||||||
|
message = message.reload()
|
||||||
|
self.assertEquals(message.authors[0].name, "Ross")
|
||||||
|
|
||||||
|
Message.objects(authors__name="Ross").update_one(
|
||||||
|
set__authors=[Author(name="Harry"),
|
||||||
|
Author(name="Ross"),
|
||||||
|
Author(name="Adam")])
|
||||||
|
|
||||||
|
message = message.reload()
|
||||||
|
self.assertEquals(message.authors[0].name, "Harry")
|
||||||
|
self.assertEquals(message.authors[1].name, "Ross")
|
||||||
|
self.assertEquals(message.authors[2].name, "Adam")
|
||||||
|
|
||||||
def test_order_by(self):
|
def test_order_by(self):
|
||||||
"""Ensure that QuerySets may be ordered.
|
"""Ensure that QuerySets may be ordered.
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user