Depends on your data, if you don't need joins/complex queries Django indeed is a great framework, though if an API is all you need a lighter framework might be worth looking into.
Django handles joins just fine using the double underscore in the filter method.
It also provides an easy to use means of doing complex queries via raw SQL:
MyModel.objects.extra(select = {'blah blah raw sql'}) will return a regular queryset.
Django's ORM seems to be one of the areas they're consistently improving upon. Sure it's not SQLAlchemy. But SQLAlchemy is just an ORM, while Django is quite a bit more. Though I really love how SQLAlchemy separates it's core from the higher-level ORM.