Ensure that DBRef items in ListFields are dereferenced.
(self)
| 1390 | assert bar.generic_ref == {"_ref": expected, "_cls": "Foo"} |
| 1391 | |
| 1392 | def test_list_item_dereference(self): |
| 1393 | """Ensure that DBRef items in ListFields are dereferenced.""" |
| 1394 | |
| 1395 | class User(Document): |
| 1396 | name = StringField() |
| 1397 | |
| 1398 | class Group(Document): |
| 1399 | members = ListField(ReferenceField(User)) |
| 1400 | |
| 1401 | User.drop_collection() |
| 1402 | Group.drop_collection() |
| 1403 | |
| 1404 | user1 = User(name="user1") |
| 1405 | user1.save() |
| 1406 | user2 = User(name="user2") |
| 1407 | user2.save() |
| 1408 | |
| 1409 | group = Group(members=[user1, user2]) |
| 1410 | group.save() |
| 1411 | |
| 1412 | group_obj = Group.objects.first() |
| 1413 | |
| 1414 | assert group_obj.members[0].name == user1.name |
| 1415 | assert group_obj.members[1].name == user2.name |
| 1416 | |
| 1417 | def test_recursive_reference(self): |
| 1418 | """Ensure that ReferenceFields can reference their own documents.""" |
nothing calls this directly
no test coverage detected