async def test_select_related_with_two_same_models(self):
    parent_node = (await Node.create(name='1'))
    child_node = (await Node.create(name='2'))
    tree = (await Tree.create(parent=parent_node, child=child_node))
    tree = (await Tree.all().select_related('parent', 'child').get(pk=tree.pk))
    self.assertEqual(tree.parent.pk, parent_node.pk)
    self.assertEqual(tree.parent.name, parent_node.name)
    self.assertEqual(tree.child.pk, child_node.pk)
    self.assertEqual(tree.child.name, child_node.name)
async def test_select_related_with_two_same_models(self):
    parent_node = (await Node.create(name='1'))
    child_node = (await Node.create(name='2'))
    tree = (await Tree.create(parent=parent_node, child=child_node))
    tree = (await Tree.all().select_related('parent', 'child').get(pk=tree.pk))
    self.assertEqual(tree.parent.pk, parent_node.pk)
    self.assertEqual(tree.parent.name, parent_node.name)
    self.assertEqual(tree.child.pk, child_node.pk)
    self.assertEqual(tree.child.name, child_node.name)