【发布时间】:2019-03-10 05:51:09
【问题描述】:
免责声明:我是 Python 的超级菜鸟,所以请耐心等待。
我什至不确定这是否可能,但我们在 Python 中使用 Schematics 进行数据验证,并且我们有一个可以具有多种类型值的字典列表(例如字符串列表、数字列表、字典列表等)所以我的第一次尝试是使用联合类型。
现在,模型如下所示:
class Filter(Model):
_id = ObjectIdType(default=ObjectId)
name = StringType()
filters = ListType(DictType(UnionType([ListType(StringType()),
ListType(NumberType()),BooleanType(), StringType()])))
created_at = DateTimeType(default=datetime.datetime.now)
updated_at = DateTimeType(default=datetime.datetime.now)
但是由于某种未知的原因,isinstance() 给了我一个错误,即 arg 2 必须是一个类型或类型的元组(我感觉这意味着只能统一 2 种类型)。所以我有点没有想法。我尝试编写自定义模型并使用 ModelType,但这也没有飞得太远。
提前谢谢你!
【问题讨论】:
-
你在用this package吗?
-
不,我们使用的是 Schematics:schematics.readthedocs.io/en/latest
-
抱歉,我在您的原始帖子中错过了这一点。 -1 对我的阅读理解!
标签: python python-3.x schema