是否可以在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但没有任何效果。
有没有人有解决方案?
谢谢!