Buggy SQL syntax is produced when trying to JOIN two fields from same model
You're almost there. Just join on the aliases themselves as opposed to .join(Parent...

```
Dad = Adult.alias()
Mom = Adult.alias()
query = (
    Children.select(Children, Dad, Mom)
    .join(Dad, on=(Children.dad == Dad.id))
    .switch(Children)
    .join(Mom, on=(Children.mom == Mom.id))
)
```
```
Adult(Model):
    name = CharField()

Children(Model):
    name = CharField()
    dad = ForeignKeyField(Adult, backref='children_as_dad')
    mom = ForeignKeyField(Adult, backref='children_as_mom')

Dad = Adult.alias()
Mom = Adult.alias()
query = (
    Children.select(Children, Dad, Mom)
    .join(Adult, on=(Children.dad == Dad.id))
    .switch(Children)
    .join(Adult, on=(Children.mom == Mom.id))
)
print(query)
```

I want to select all children along with their two parents in a single query, but the output query is really weird:
```
('SELECT "t1"."id", "t1"."dad_id", "t1"."mom_id", "t2"."id", "t2"."name", "t3"."id", "t3"."name", FROM "children" AS "t1" INNER JOIN "adult" AS "t4" ON ("t1"."dad_id" = "t2"."id") INNER JOIN "adult" AS "t4" ON ("t1"."mom_id" = "t3"."id")
```
executing it results in Exception, because of those `t4`s which should be `t2` and `t3` respectively.

I am using peewee `3.14.9` and sqlite.

Is that a bug, or what am I doing wrong?