如何在其基类中访问类的字段?

时间:2014-07-09 09:22:31

标签: python mongodb reflection

我有一些类可以在mongoDB中访问我的集合。我为每个班级创造了很多方法。现在我想知道是否有任何方法可以实现这些方法,然后我的mongoDB类只包含字段?看看这个例子:

#mongoBase.py
class MongoBase():
    def insert()
        pass
    def update()
        pass

#user.py
class User(MongoBase):
# Here should be only fields declaration and when I call .insert(), the fields should be inserted.

我使用java反射在Java中完成了它。但是我无法在python中找到类似的东西。

1 个答案:

答案 0 :(得分:1)

我非常确定您只需在父类中引用self即可实现您尝试做的事情。

这是我使用的代码:

class MongoBase(object):
    def insert(self, field, value):
        setattr(self, field, value)
    def update(self, field, value):
        setattr(self, field, value)

class User(MongoBase):
    def __init__(self, name):
        self.name = name

以下是它的工作原理:

>>> user = User('Bob')
>>> user.name
'Bob'
>>> user.update('name', 'Rob')
>>> user.name
'Rob'
>>> user.insert('age', 12)
>>> user.age
12