7

我正在使用带有烧瓶的mongoengine。我有一个名为 profile 的 db.Document 类,其中我希望一个字段可以为空且唯一,我理解这样做的方法是为该字段创建一个既是稀疏 = True 又是唯一 = True 的索引,我该怎么做去做这个?

4

3 回答 3

17

您必须在meta定义中声明索引,例如:

class BlogPost(Document):
    date = DateTimeField(db_field='addDate', default=datetime.now)
    category = StringField()
    tags = ListField(StringField())

    meta = {
        'indexes': [
            {'fields': ['-date'], 'unique': True,
              'sparse': True, 'types': False },
        ],
    }
于 2012-09-13T13:17:32.897 回答
8

在唯一约束的情况下,您可以使用字段声明将其设置为:

email = mongodb.EmailField(required=True, unique=True)
于 2013-03-24T19:18:00.430 回答
4

我们可以直接在Field参数中提及。例子:

email = db.EmailField(sparse=True, unique=True, required=False)
于 2018-06-09T08:17:56.633 回答