Does .dicts() or .tuples() force an eval?
Well, first of all, two queries is not N+1 queries. N+1 queries happens when you have a loop, for instance, and for every result in the outer query you execute an additional query.

So no, it's not N+1.

In fact, it is only 1 query, which you can verify by [enabling query logging](http://docs.peewee-orm.com/en/latest/peewee/database.html#logging-queries).

Calling `dicts()` or `tuples()` will not evaluate the query. Select queries are evaluated when you call `execute()` on them, iterate over them, call `len()` on them, or index into them.
 Excellent, just what I needed to know. Thanks.

I have the following code:

```
media_association = MediaAssociation.select(MediaAssociation.id).where(
            MediaAssociation.blog == self.id).dicts()

media = Media.select().where(Media.id << media_association)
```

Would this cause an `n+1` query, where `media_association` generates one query and then `media` another? My gut tells me that would be the case, but I wanted to be sure.
