9

2 つのフィールドを組み合わせてインデックス フィールドを形成するテーブルを作成したいと考えています。テーブルを作成するための私の Python コードは次のとおりです。私がやりたいのは、結合されたフィールドcourse_namegroup_name一意のフィールドを作成して、同じcourse_nameとを持つ2つのグループをgroup_name作成できないようにすることです。誰かがこれで私を助けてくれますか?

class SocialGroup(Document):
    timestamp = DateTimeField(default=datetime.now)
    course_name = StringField()
    group_name = StringField(choices=[('A', 1), ('B', 1), ('C', 1),('D', 1), ('E', 1), ('F', 1), ('None',1)], default="None")
4

2 に答える 2

14

クラスの辞書でインデックスを指定できます。meta

class SocialGroup(Document):
    timestamp = DateTimeField(default=datetime.now)
    course_name = StringField()
    group_name = StringField(choices=[('A', 1), ('B', 1), ('C', 1),('D', 1), ('E', 1), ('F', 1), ('None',1)], default="None")
    meta = {
        'indexes': [
            {'fields': ('course_name', 'group_name'), 'unique': True}
        ]
    }
于 2013-02-21T13:26:32.623 に答える