Отказ от ответственности: я супер нуб в Python, поэтому, пожалуйста, будьте терпеливы.
Я даже не уверен, возможно ли это вообще, но мы используем Schematics для проверки данных в Python, и мы имеемсписок словарей, которые могут иметь значения нескольких типов (например, список строк, список чисел, список словарей и т. д.). Поэтому моей первой попыткой было использование Union Type.
Теперь модель выглядит следующим образом:
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, но это не слишком далеко зашло.
Заранее спасибо!