Fix side effect of no_dereference on GenericReferenceField
This commit is contained in:
		| @@ -4720,12 +4720,14 @@ class QuerySetTest(unittest.TestCase): | ||||
|  | ||||
|         class User(Document): | ||||
|             organization = ReferenceField(Organization) | ||||
|             organization_gen = GenericReferenceField() | ||||
|  | ||||
|         User.drop_collection() | ||||
|         Organization.drop_collection() | ||||
|  | ||||
|         org = Organization(name="whatever").save() | ||||
|         User(organization=org).save() | ||||
|         User(organization=org, | ||||
|              organization_gen=org).save() | ||||
|  | ||||
|         qs = User.objects() | ||||
|         user = qs.first() | ||||
| @@ -4733,10 +4735,16 @@ class QuerySetTest(unittest.TestCase): | ||||
|         qs_no_deref = User.objects().no_dereference() | ||||
|         user_no_deref = qs_no_deref.first() | ||||
|  | ||||
|         # ReferenceField | ||||
|         no_derf_org = user_no_deref.organization    # was triggering the bug | ||||
|         self.assertIsInstance(no_derf_org, DBRef) | ||||
|         self.assertIsInstance(user.organization, Organization) | ||||
|  | ||||
|         # GenericReferenceField | ||||
|         no_derf_org_gen = user_no_deref.organization_gen | ||||
|         self.assertIsInstance(no_derf_org_gen, dict) | ||||
|         self.assertIsInstance(user.organization_gen, Organization) | ||||
|  | ||||
|     def test_no_dereference_embedded_doc(self): | ||||
|  | ||||
|         class User(Document): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user