One of the main questions is to work out what is slow. You can often gain a lot by using the new --keep-db option which maintains the test database between runs meaning you don't have the DDL time each run.
A brute force approach which can have an impact is to install postgres on a RAM disk, this does have some significant performance implications.
If you are running linux or a brew-installed postgres, it's also possible that your postgres instance is configured poorly for local development. Christophe Pettus gave a talk a while back (slides[1]) which gives an overview of some of the common flags you may want to change from their 1990s defaults. In particular the section on memory may be appropriate.
The ideal way to avoid this though is simply to not use the database as much as possible. There are various ways to approach this, from mocking it out, to unit testing various objects, to building ORM objects without ever calling .save() on them. There are a number of resources online for this.
Personally, I tend not to worry too much about my overall test suite's speed, so long as I can run the tests for the section I'm working on well I then rely on the CI to deliver my final answers. As a side note, your CI should always be trying to mimic live as much as possible - even if you were to use SQLite locally for testing Django cannot guarantee all behaviour is completely db agnostic, especially when it comes to constraint checking.
Marc