python - 棉花糖模式的动态类变量?
问题描述
我正在使用 Marshmallow 制作几个模式。其中一些是UserSchema
,PatientSchema
和AppointmentSchema
。我也在做一个“整体” FeedbackSchema
,看起来像这样:
class FeedbackSchema(Schema):
success = fields.Bool()
message = fields.String()
error = fields.String()
data = ?
我想当最终用户询问路线/users/all
时,它将导致FeedbackSchema
该data
字段填充所有用户的列表。即,fields.List(fields.Nested(UserSchema))
。但是,如果他们去/patient/1
的data
领域是一个病人,那就是fields.Nested(PatientSchema)
。
我想要的是不必创建几个FeedbackSchema
几乎相同的不同 s,除了它们对data
类变量类型的定义。
我怎样才能动态地实现这一点?某种我不知道的类工厂?
我目前的解决方案是使用这个子类:
class UserFeedbackSchema(FeedbackSchema):
data = fields.Nested(UserSchema)
解决方案
推荐阅读
- julia - 如何防止 StatsPlots.jl 重新排序分类数据
- python - Python数据框计算不适用于所有列
- c++ - C++ Builder 10.4 和 Tinyxml
- c# - 3rd 方库中的 Rouge 任务挂起主线程并导致奇怪的行为。如何安全地检测挂起并重试?C#
- c - 位域是否总是与联合成员具有相同的值?
- java - IntelliJ Idea 的 Google AutoML 预测返回 NoSuchMethodError
- javascript - 无法读取 null 的属性“权限”没有可用的调试器,无法发送“变量”
- asp.net-web-api - .NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON Parser Errors
- html - Wordpress 徽标仅在 chrome 桌面上不显示
- android - OKhttp提供的例子不完整