2012-03-09 6 views
2

考えるモデル:我々はデータ変数を設定した場合Django-MongoDBエンジンを使用してモデル上のDictFieldのdictコンテンツに基づいてフィルタを適用するにはどうすればよいですか?

class Post(models.Model): 
    datas = ListField(EmbeddedModelField('Comment'),blank=True) 
    data = DictField() 

class Comment(models.Model): 
    name = models.CharField(max_length=255) 
    date = DateField(blank=True, null=True) 

{'key':'value'} 

キー==「価値」との記事をフィルタリングする方法はありますか?

別の方法として、埋め込みドキュメントはどうですか? 'Ralph'という名前の著者がいる投稿をフィルタリングする方法はありますか?

これが可能でなければならないようですが、そうでなければこのORMはあまりにも有用であるには限界があります。そう思わないでしょう。

答えて

0

あなたは生のクエリを使用して、「ラルフ」という名前の著者でありポストをフィルタリングすることができます

Post.objects.raw_query({'author.name': "Ralph"}) 
0

私は自分自身でそれを試してお勧めしますが、コード内のコメント

#TODO/XXX: Remove as_lookup_value() once we have a cleaner solution # for dot-notation queries

はそれがないことを示唆しています。私は本当にリストを本当に使ったことがあります。

関連する問題