2012-02-03 9 views
3

、既存のレコードを参照し、それを照会してみてください(私はすでに私のコレクションで数十の書類を持っている)が、クエリセットは空ではありません。MongoEngineは私がMongoEngineで私のモデルを設定

>>> mymodel.objects 
[] 

私は、新しいドキュメントを追加することができ、そしてそれらは、後続の問合せに現れたが、私の既存の文書の兆候があります:与え

>>> thingy = mymodel(a=2, b=3) 
>>> thingy.save() 
>>> mymodel.objects 
[<mymodel: mymodel object>] 

何?参考のために、ここで私のモデル定義です:

from django.conf import settings 
from mongoengine import * 

connect(settings.MONGO_DATABASE, 
     host=settings.MONGO_HOST, port=settings.MONGO_PORT) 

class metadata(Document): 

    meta = {'collection': 'metadata'} 

    _id = StringField() 
    name = StringField() 
    _type = StringField() 
    terms = ListField() 
    level = StringField() 
    abbreviation = StringField() 
    latest_update = DateTimeField() 
    feature_flags = ListField() 
    session_details = DictField() 
    legislature_name = StringField() 
    lower_chamber_name = StringField() 
    upper_chamber_term = IntField() 
    upper_chamber_name = StringField() 
    lower_chamber_term = IntField() 
    lower_chamber_title = StringField() 
    upper_chamber_title = StringField() 
    _ignored_scraped_sessions = ListField() 

この質問はMongoEngine自身の作者が答えます場合、私はあなたがAWESOMEしていることを事前に表現したいです!

がMongoEngineの継承ツールは、ドキュメント(_clsと_TYPES)と、その後に追加の属性を設定するので、あなたは、あなたのモデル定義でallow_inheritance = Falseを設定する必要があり、既存のデータとMongoEngineを使用するには:

答えて

1

ネヴァーマインド、ドキュメントは私の質問に答えます(明らかに)それらを使用してMongoEngineクエリをフィルタリングします。もう1つの選択肢は、これらの属性を既存の文書に追加することです。

http://docs.mongoengine.org/guide/defining-documents.html

関連する問題