そこで、Flask と Mongoengine を使用して簡単なピザ投票アプリを作成しています。投票ドキュメントのクラスは次のとおりです。
class Votes(db.Document):
# reference to a date the vote started
vote = db.ReferenceField(VoteArchive)
# reference to one kind of pizza
pizza = db.ReferenceField(Pizza)
# list of references to users that voted for that pizza
voters = db.ListField(db.ReferenceField(User))
私が理解できないのは、「有権者」で参照を一意にする方法です。フィールド全体ではなく、そのリスト内のアイテムが繰り返されないようにするため、1 人のユーザーは 1 つのピザに 1 回だけ投票できます。
目標は、1 人のユーザーがピザに 2 回投票することを禁止することです。
何か案は?