Tests in separate modules
This is not Peewee, this is Python. The database attribute of the Model's `Meta` class holds a reference to the `db` object a module scope... This is resolved at module-load time. So no magic. @ardeaf That's an easy mistake to make. If you want to be absolutely sure to use the right connection, I think you could do:

    with BaseModel.Meta.database.atomic():

But that's super ugly, yeah...
I followed the quickstart guide and wasn't as thorough as I should have been with the docs, eventually locating the "extra" section which solved my problem. However, I think adding to the docs a best practices note in the quickstart on how to do tests with peewee would be beneficial.

My tests were in separate module, so I didn't know I was using a different db connection in my test modules when I made the db variable at the beginning of my test modules. I was trying to use transactions:

main/models.py
```
from peewee import *

db = SqliteDatabase('/home/ardeaf/my_app.db')

class BaseModel(Model):
    class Meta:
        database = db

class User(BaseModel):
    username = CharField(unique=True)
```

tests/test_models.py
```
from main.models import User

db = SqliteDatabase('/home/ardeaf/my_app.db')

test_save_user():
    db.atomic() as txn:
        username.Create("ardeaf")
        assert User.get(User.username == "ardeaf").username == "ardeaf"
        txn.rollback
````

So that wasn't working -- admittedly, I'm an idiot.  Tests passed, but database wasn't being rolled back. I eventually figured out the whole connection thing and ended up making my database dynamically defined at runtime.

However, it might be great to add a how-to on this in the quickstart docs in case someone was writing tests. I believe this would also be the case if you end up using the models in different modules, right? Perhaps a quick note explaining how to do that would help.
