这个解决方案似乎有助于解决我的问题:获取类的属性
但是,当我按照上面链接的步骤进行操作时,我的项目只返回Config
和fields
。这可能是因为这些类继承自Pydantic的BaseModel
。
我要找的是一个班,比如:
class GameStatistics(BaseModel):
id: UUID
status: str
scheduled: datetime
我应该返回id
、status
和scheduled
。
我的尝试:
for name, cls in inspect.getmembers(module, lambda member: inspect.isclass(member) and member.__module__== module.__name__):
for _name, attrbs in inspect.getmembers(cls, lambda member: not(inspect.isroutine(member))):
if not _name.startswith('_'):
print(_name, attrbs)
尝试
for field in GameStatistics.__fields__:
print(field)
如果您想用值做一些事情,列表理解将是一种更干净的方法。
[field for field in GameStatistics.__fields__.keys()]
或者只是
list(GameStatistics.__fields__.keys())