如何解决扩展棉花糖架构但覆盖字段必需属性
菜鸟问题,但我有一个简单的架构:
class User(Schema):
name = fields.Str(required=True)
email = fields.Str(required=True)
而且我想扩展它,但在扩展的情况下,将字段设为可选
class UserIHavePhoneNumberFor(User):
phone = fields.Str(required=True)
# Don't Care about Email because I can pester them via phone!
我已经检查了文档,但找不到执行此操作的方法。 有什么帮助吗?
谢谢!
解决方法
它可能不在文档中,因为这些只是 Python 中的基本类继承规则。
class UserIHavePhoneNumberFor(User):
phone = fields.Str(required=True)
email = fields.Str(required=False)
如果您需要比这更复杂的规则,您可以随时编写自己的自定义验证规则:
甚至:
https://marshmallow.readthedocs.io/en/stable/extending.html#schema-level-validation
通常最好先尝试看看是否可以通过明智地声明字段来避免使用这些字段,但在您需要时它就在那里。
,您正在寻找部分加载吗?
跳过 required=True
验证
https://marshmallow.readthedocs.io/en/stable/quickstart.html#partial-loading
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。