__unicode__ is a generic python method that is used when you try to
convert an object to a unicode string, either by formatting it in to a
buffer or printing it or anything that evaluates it as a (unicode)
string. It is not run when you "fetch data", but only when you convert
an instance to a unicode string.
If you do not provide one for your class, then the one from the base
django Model class will be used, which prints out something like
"<FooType: FooType object>" (assuming the class is called "FooType").
Cheers
Tom