Fredp wrote: (snip) > I have something like a simple ORM which objects haven't a fixed number > of fields, and I need to have properties (or methods) for each of them,
dumbiest possible example, but this should het you started class Field(object): # dummy def __init__(self, **kw): self.__dict__.update(kw) class SomeORMObject(object): # this is a class property fields = {'toto' : Field(type='int', primary=True), 'tata' : Field(type='varchar', maxlen=255, default=''), } # this is a class method, # the first param is the class object @classmethod def get_field(cls, fldname): return cls.fields.get(fldname, None) SomeORMObject.get_field('toto') Properties won't probably cut it, but you can write custom descriptors (google or search python.org for a description of what descriptors are - for the record, properties are a kind of descriptor). I did use this kind of stuff for an 'object/ldap mapper', using descriptors for ldap attributes and some classmethod for building queries etc... > but currently it is more comfortable for me to use uninstantiaded > classes (as someway SQLObject does). > I guess I'd better taking another approach to him, maybe using > something from ASPN cookbook :-\ Your approach is quite sensible IMHO - minus one detail : you should avoid reinventing the Square Wheel(tm). There already are some Python orms. I'm not found of SQLObject, but I've played a bit with SQLAlchemy and it seems quite promising. HTH -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list