multi-table join fail
Peewee uses a concept called the "query context" when building joins. The model being selected, or the last model that was joined, is considered the context. A subsequent call to ".join()" will be from the query context to the model indicated by the call to join().

I think you just need to add the appropriate ".switch(ModelName)" in between your joins to ensure that you're setting the appropriate query context. http://docs.peewee-orm.com/en/latest/peewee/api.html#Query.join

Also, why aren't you using any ForeignKeyFields?!
The `Car`:
![image](https://cloud.githubusercontent.com/assets/16532113/21478024/78359ffe-cb82-11e6-88b8-bdcb68e9c32e.png)

The `Device`:
![image](https://cloud.githubusercontent.com/assets/16532113/21478012/623bedf2-cb82-11e6-9c35-729cd3713a4d.png)

The `CarTerminal`:
![image](https://cloud.githubusercontent.com/assets/16532113/21477997/3946bb3e-cb82-11e6-97bc-cffbbb4a599e.png)

here is right:
![image](https://cloud.githubusercontent.com/assets/16532113/21477992/2a728ebc-cb82-11e6-9a8f-91dd140d6ccb.png)
![image](https://cloud.githubusercontent.com/assets/16532113/21477940/98b6e7e8-cb81-11e6-8a94-a4d46c0c1eba.png)

here is wrong:
![image](https://cloud.githubusercontent.com/assets/16532113/21478078/f2e3e4f4-cb82-11e6-9eed-df79940378ef.png)
![image](https://cloud.githubusercontent.com/assets/16532113/21478076/ea727c18-cb82-11e6-98d0-38291e1af3bf.png)

here is also wrong, the sql is almost right without the fabricated `t2.id` ( CarTerminal has no field named `id` in fact ):
![image](https://cloud.githubusercontent.com/assets/16532113/21478253/6020ade4-cb84-11e6-9bb1-7944a68f5074.png)
![image](https://cloud.githubusercontent.com/assets/16532113/21478250/564fd772-cb84-11e6-96e9-588b6b169ceb.png)


