获取类Python的自定义属性

时间:2014-07-17 08:54:48

标签: python class attr

是否可以在Python中获取类的自定义属性的名称?例如,这是我的班级:

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key = True)
    login = db.Column(db.String(100))
    password = db.Column(db.String(100))
    first_name = db.Column(db.String(100))
    last_name = db.Column(db.String(100))
    email = db.Column(db.String(100))
    age = db.Column(db.Integer)
    sex = db.Column(db.String(10))

我想要的是获取我的类属性列表(只有我定义的那些!)。我正在考虑使用dir(self)并过滤那些不以__开头的内容,但它并不真实,因为还有其他字段是内置的,例如metadata,{ {1}}等等。

我看到了一个函数query但它仅适用于给定的字段。

我不想使用密钥,因为它必须保持通用,我不想在每次添加字段时修改字典。

当我使用getattr (or getattribute)时,我在尝试SqlAlchemy ORM时得到了这个:

self.__dict__

我也尝试过很多东西,比如这里描述的东西: Python dictionary from an object's fields但没有任何效果。

有没有人有解决方案?

谢谢!

0 个答案:

没有答案