2013-10-31 44 views
1

我正在使用Mongoengine。 当我做一个:无法使用有效字段获取mongodb对象

>>> Grant.objects().first().client_id 

结果如预期。

ObjectId('526fd0da82353536892f22ae') 

但是,当我搜索基础上,client_id

>>> Grant.objects(client_id="526fd0da82353536892f22ae").first()

我得到一个InvalidQueryError:

InvalidQueryError: Cannot resolve field "client_id" Here's what my Grant model looks like:

class Grant(db.Document): 
    #user_id = db.StringField() 
    user = db.ReferenceField(User) 
    client_id = db.StringField() 
    client = db.ReferenceField(Client) 
    code = db.StringField() 
    redirect_uri = db.StringField() 
    expires = db.DateTimeField() 
    scopes = db.ListField() 

    #for soft-deleting the grant 
    is_deleted = db.BooleanField(default=False) 

    @property 
    def user_id(self): 
     return self.user.id 

    @property 
    def client_id(self): 
     return self.client.id 

    def delete(self): 
     self.is_deleted = True 

有人可以通过这个代码,并指出问题?

回答

0

你尝试使用它,如:

Grant.objects(client_id=ObjectId("526fd0da82353536892f22ae")).first() 
+0

这也不能工作。我用“客户端”本身获取Grant对象 - 将其分解为两个步骤。 –

相关问题