Testing if we can query embedded document's field inside MapField. Part of #912, which is fixed in 0.9.
This commit is contained in:
parent
422ca87a12
commit
4b8344082f
@ -1431,16 +1431,26 @@ class FieldTest(unittest.TestCase):
|
|||||||
def test_map_field_lookup(self):
|
def test_map_field_lookup(self):
|
||||||
"""Ensure MapField lookups succeed on Fields without a lookup method"""
|
"""Ensure MapField lookups succeed on Fields without a lookup method"""
|
||||||
|
|
||||||
|
class Action(EmbeddedDocument):
|
||||||
|
operation = StringField()
|
||||||
|
object = StringField()
|
||||||
|
|
||||||
class Log(Document):
|
class Log(Document):
|
||||||
name = StringField()
|
name = StringField()
|
||||||
visited = MapField(DateTimeField())
|
visited = MapField(DateTimeField())
|
||||||
|
actions = MapField(EmbeddedDocumentField(Action))
|
||||||
|
|
||||||
Log.drop_collection()
|
Log.drop_collection()
|
||||||
Log(name="wilson", visited={'friends': datetime.datetime.now()}).save()
|
Log(name="wilson", visited={'friends': datetime.datetime.now()},
|
||||||
|
actions={'friends': Action(operation='drink', object='beer')}).save()
|
||||||
|
|
||||||
self.assertEqual(1, Log.objects(
|
self.assertEqual(1, Log.objects(
|
||||||
visited__friends__exists=True).count())
|
visited__friends__exists=True).count())
|
||||||
|
|
||||||
|
self.assertEqual(1, Log.objects(
|
||||||
|
actions__friends__operation='drink',
|
||||||
|
actions__friends__object='beer').count())
|
||||||
|
|
||||||
def test_embedded_db_field(self):
|
def test_embedded_db_field(self):
|
||||||
|
|
||||||
class Embedded(EmbeddedDocument):
|
class Embedded(EmbeddedDocument):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user