是否可以使用字段对象的选择选项(在我的情况下是StringField),它被用作ListField的参数?
我正在尝试在这样的集合上定义属性:
my_list_property = ListField(StringField(choices=CHOICES), required=True)
我希望MongoEngine在保存时验证my_list_property的元素是否在CHOICES中。
编辑 - 来自评论
查看了MongoEngine代码后,ListField
继承自ComplexBaseField
。 ComplexBaseField
上的验证方法调用self.field
上的验证(在我的情况下,这是StringField
)。
StringField
继承自BaseField
。 BaseField.validate
刚过去。
BaseField
例如StringField
是父字段,调用BaseField._validate
而不是BaseField.validate
,._validate
对选项进行验证。我想知道ComplexBaseField.validate
是否应该实际调用self.field._validate
?