2017-03-15 4 views
0

MongoEngineから返されたクエリーセットをどのようにクエリできますか?私は、クエリセットを照会についての情報を見つけることができませんでしたドキュメントに基づいて:http://docs.mongoengine.org/apireference.html#mongoengine.queryset.QuerySetPython mongoengine Querysetをクエリするには?

import datetime 
thirty_days_in_the_past = datetime.datetime.now() - datetime.timedelta(days=30) 

def last_messages(from_date): 
    messages = Messages.objects(sent_at__gt=from_date) 
    return messages 

messages = last_messages(thirty_days_in_the_past) 

それから私は、このようなAUTHOR_ID「ABC」を見つけるなど、特定のサブクエリでメッセージを取得したいと思います:

messages.query(author_id="ABC") 

最初のクエリ自体をコンポーネントで使用し、そのサブクエリを別のコンポーネントで使用していて、そのクエリを再利用したいと考えている理由です。

答えて

0

狭いクエリでクエリーセットを呼び出すか、.filter()(これは単なるエイリアスです)を使用してください。 mongoengine documentationは実際に何らかの理由で別のクエリ(とfilterの存在)でクエリセットを呼び出す可能性については言及していません。

author_messages = messages(author_id="ABC") 
# or 
author_messages = messages.filter(author_id="ABC") 

「楽しい事実は」、(__キーワード構文を含む全体のクエリ言語、)から重いインスピレーションを取っmongoengine DjangoのORMは、そのdocs :)

filter方法を言及しません
関連する問題