9
本当に明白なものを紛失しているはずです。しかし、私はmongoengineを使ってセットを表現する方法を見つけることができないようです。Pythonのmongoengineで重複しないListField
class Item(Document):
name = StringField(required=True)
description = StringField(max_length=50)
parents = ListField(ReferenceField('self'))
i = Item.objects.get_or_create(name='test item')[0]
i2 = Item(name='parents1')
i2.save()
i3 = Item(name='parents3')
i3.save()
i.parents.append(i2)
i.parents.append(i2)
i.parents.append(i3)
i.save()
上記のコードは、i1の親フィールドにi2の重複エントリを作成します。 mongoengineの関係のような外国のキーをどう表現しますか?代わりに、その後append
を使用してsave
を使用して、あなたはアトミックな更新と$ addToSetメソッドを使用することができ、MongoEngineはアップデートにそれを変換させるの