如何在没有PydanticBaseModel的情况下获取类的属性



这个解决方案似乎有助于解决我的问题:获取类的属性

但是,当我按照上面链接的步骤进行操作时,我的项目只返回Configfields。这可能是因为这些类继承自Pydantic的BaseModel

我要找的是一个班,比如:

class GameStatistics(BaseModel):
id: UUID
status: str
scheduled: datetime

我应该返回idstatusscheduled

我的尝试:

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())

相关内容

  • 没有找到相关文章

最新更新