我有一个像这样的 Pydantic 模型类
class User(BaseModel):
username: str
firstname: str
lastname: str
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够引用“用户名”而无需硬编码(就像我如何能够引用类名一样)
setup_index(User.__name__, "username")
Run Code Online (Sandbox Code Playgroud)
有没有办法不通过代码生成路线?
getattr(user, 'username')可以使用(如 @michael-butscher 所提到的)。name_getter = operator.attrgetter('username')并将其提供给客户端以用作name_getter(user). User通过在 中定义一个 getter 方法并提供对该方法的引用可以达到相同的效果。无论哪种方式,如果username是实现细节,那么此方法有助于向客户端隐藏此类细节。| 归档时间: |
|
| 查看次数: |
6936 次 |
| 最近记录: |