python - Python 数据类:从 asdict 中省略字段
问题描述
我已经开始大量使用 python 数据类模块并发现它非常有用。我特别喜欢可以在每个字段上设置的标志,允许切换比较、初始化等。
然而,我经常发现有一个字段我希望从类的 asdict 行为中省略。在某些情况下,这可能使用 dict_factory 参数,但有时会发生字段会导致 asdict 函数在通过使用 dict_factory 将其省略之前引发异常。
其他人可以建议一种干净的方法来做到这一点吗?添加到数据类模块中不是有用的附加标志吗?
解决方案
您可以将自定义元数据添加到类似字段,field(metadata={"include_in_dict":True})
并且在 dict_factory 中您可以先检查此内容,并在需要时跳过该字段。
if field_.metadata.get("include_in_dict", False):
continue
推荐阅读
- haskell - 所有固定大小的容器都是强单曲面函子吗,和/或反之亦然?
- javascript - 在使用带有 Node JS 的 mysql 包时添加 async/await
- python - seaborn:选择的 KDE 带宽为 0。无法估计密度
- wordpress - 是否可以将 HTTP 站点部署到 API 网关以使其成为 HTTPS?
- sql - 使用条件将一行连接到前一行(Bigquery sql)
- mongodb - 如何使用回调填充?
- c# - 多值 XML 项到 C#
- r - 多个 y 轴使用 plotly 和不同长度的数据
- android - 复合查询未给出正确结果 [Firestore]
- smtp - 如何使用任何 Gmail、outlook、yahoo 帐户的 Javascript 查找 imap 设置