I don't think this is correct. If the query set contains some data, it should be truthy regardless of the position of the cursor. Note that `for obj in qs` will always rewind the cursor and start from the beginning. It would be very weird to have something like produce output:

```
if not qs:
    for obj in qs:
        print obj
```