The goal is to create a mock class which behaves like a db resultset.
So for example, if a database query returns, using a dict expression, {\'ab\':100, \'cd\'
{\'ab\':100, \'cd\'
Only way to dynamically attach a property is to create a new class and its instance with your new property.
class Holder: p = property(lambda x: vs[i], self.fn_readonly) setattr(self, k, Holder().p)