```first()``` will happily return ```None``` if the query yields no objects. Now that I think of it I don't know why a ValueError would be raised. I think you wrote the original block that I copied the one in ```__init__()``` from. I wonder what it was guarding against.