don't generate bloated Django objects until last possible second