私のアプリケーションは単純な TODO リストです。これは MongoEngine を使用した私のクラスです...
class Task(EmbeddedDocument):
content = StringField()
slug = StringField()
position = IntField()
priority = IntField()
status = IntField()
class List(EmbeddedDocument):
name = StringField()
slug = StringField()
tasks = ListField(EmbeddedDocumentField(Task))
class User(Document):
email = StringField()
twitter = StringField()
lists = ListField(EmbeddedDocumentField(List))
私はユーザーリストにプッシュします...
list = List()
list.name = request.form['name']
list.slug = slugify(request.form['name'])
User.objects(twitter=session['username']).update_one(push__lists=list)
ロジックは、ユーザーが複数のリストを持ち、各リストに複数のタスクを含めることができるというものです。
特定のリストでタスクをプッシュしたいのですが、MongoEngine で方法が見つかりません。アプローチは次のようになります。
User.objects(twitter=session['username']).update_one(push__lists__listname__task=list)
これを行う正しい方法はどれですか?