I think "What does it do?" is the wrong question here. You would get further by asking: "What a Django `File` is supposed to do?" I learned to do strict TDD in one of these cases... and ended up rewriting the whole thing... just saying ;)