Strange models behavior
Glad you like the library!  Here's what I'd suggest you try -- you can pass 2-tuples into select clauses to specify aliases:

``` python

CC_map.select({
    CC_map: [('id', 'cc_map_id'), 'currency_id'],
    Currencies: ['currency_abbr'],
}).order_by('country_id').where(country_id=country_id).join(Currencies, on='currency_id')
```
 In 0.9.2 that does the trick. Thanks

Problems started after Commit: 62bd00b90686aea6d6440ff129c30cf28a2a9449 

Whole speak is about MySQL as backend

inside one of models I have method:
<code>
    def getAbbrByCountryId(self, country_id):
        return CC_map.select(
                {CC_map: ['id AS cc_map_id, currency_id'],
                 Currencies: ['currency_abbr']}
            ).order_by('country_id').where(country_id=country_id
            ).join(Currencies, on='currency_id')
</code>

When you provided "smart select_related() behavior" I have no access to attributes created in code above.

Tried latest version and got problems with not assigning table link name to column names.

I get:
<code>SELECT id AS cc_map_id, currency_id, t2.`currency_abbr` 
FROM  `cc_map` AS t1
INNER JOIN  `currencies` AS t2 ON t1.`currency_id` = t2.`id` 
WHERE t1.`country_id` =1
ORDER BY t1.`country_id` ASC </code>

instead of 

<code>SELECT t1.id AS cc_map_id, t1.currency_id, t2.`currency_abbr` 
FROM  `cc_map` AS t1
INNER JOIN  `currencies` AS t2 ON t1.`currency_id` = t2.`id` 
WHERE t1.`country_id` =1
ORDER BY t1.`country_id` ASC </code>

Tell If you need any additional info - I'll provide it.

P.S.
Thanks for your great work!
