Fix for issue #425 - allow undeclared fields in an embedded dynamic document to be seen by queryset methods

This commit is contained in:
Eric Plumb
2013-11-08 14:57:35 -08:00
parent 1145c72b01
commit 857cd718df
2 changed files with 26 additions and 2 deletions

View File

@@ -292,6 +292,21 @@ class DynamicTest(unittest.TestCase):
person.save()
self.assertEqual(Person.objects.first().age, 35)
def test_dynamic_embedded_works_with_only(self):
"""Ensure custom fieldnames on a dynamic embedded document are found by qs.only()"""
class Address(DynamicEmbeddedDocument):
city = StringField()
class Person(DynamicDocument):
address = EmbeddedDocumentField(Address)
Person.drop_collection()
Person(name="Eric", address=Address(city="San Francisco", street_number="1337")).save()
self.assertEqual(Person.objects.first().address.street_number, '1337')
self.assertEqual(Person.objects.only('address.street_number').first().address.street_number, '1337')
if __name__ == '__main__':
unittest.main()