(self)
| 606 | Group.drop_collection() |
| 607 | |
| 608 | def test_list_field_complex(self): |
| 609 | class UserA(Document): |
| 610 | name = StringField() |
| 611 | |
| 612 | class UserB(Document): |
| 613 | name = StringField() |
| 614 | |
| 615 | class UserC(Document): |
| 616 | name = StringField() |
| 617 | |
| 618 | class Group(Document): |
| 619 | members = ListField() |
| 620 | |
| 621 | UserA.drop_collection() |
| 622 | UserB.drop_collection() |
| 623 | UserC.drop_collection() |
| 624 | Group.drop_collection() |
| 625 | |
| 626 | members = [] |
| 627 | for i in range(1, 51): |
| 628 | a = UserA(name="User A %s" % i) |
| 629 | a.save() |
| 630 | |
| 631 | b = UserB(name="User B %s" % i) |
| 632 | b.save() |
| 633 | |
| 634 | c = UserC(name="User C %s" % i) |
| 635 | c.save() |
| 636 | |
| 637 | members += [a, b, c] |
| 638 | |
| 639 | group = Group(members=members) |
| 640 | group.save() |
| 641 | |
| 642 | group = Group(members=members) |
| 643 | group.save() |
| 644 | |
| 645 | with query_counter() as q: |
| 646 | assert q == 0 |
| 647 | |
| 648 | group_obj = Group.objects.first() |
| 649 | assert q == 1 |
| 650 | |
| 651 | _ = [m for m in group_obj.members] |
| 652 | assert q == 4 |
| 653 | |
| 654 | _ = [m for m in group_obj.members] |
| 655 | assert q == 4 |
| 656 | |
| 657 | for m in group_obj.members: |
| 658 | assert "User" in m.__class__.__name__ |
| 659 | |
| 660 | # Document select_related |
| 661 | with query_counter() as q: |
| 662 | assert q == 0 |
| 663 | |
| 664 | group_obj = Group.objects.first().select_related() |
| 665 | assert q == 4 |
nothing calls this directly
no test coverage detected