这是一个
known open issue
使用mongoengine:使用时会出现这些索引错误
unique_with
结合继承。Mongoengine尝试创建索引两次,但发生了错误。
然而,有一个解决方法(如链接的github问题所示):在内部声明唯一性
meta
字典,带有索引声明。
from mongoengine import StringField, DynamicDocument, BooleanField
class BaseFile(DynamicDocument):
name = StringField(required=True)
category = StringField(required=True)
active = BooleanField()
meta = {
"indexes": [
"active",
{"fields": ["name", "category"], "unique": True},
],
"allow_inheritance": True,
}
class SpecialFile(BaseFile):
tag = StringField()