My concern here is that the number of items in your query set can be very large, while the number of items in the previous query (and loop) would be very small.

This query would be running on every user logout request.  I'm worried that the overhead of large queryset results could far outweigh the savings from having to "loop" over (usually) 1 item..