无法使用GQL查询现有模型

时间:2015-08-09 13:47:37

标签: google-app-engine google-cloud-datastore app-engine-ndb gql

我有一个名为DB.py的文件,其中包含以下类:

class ChannelToUserTable(ndb.Model):
    user_id = ndb.KeyProperty(kind=UsersTable)
    channel = ndb.KeyProperty(kind=ChannelsTable)

并且在同一个文件中我有以下gql查询类:

class Query(object):
    def __init__(self, query_str):
        self.__query = ndb.gql(query_str)

    def results(self):
        return self.__query

当我尝试执行以下查询时:

DB.Query('''SELECT * FROM ChannelToUserTable WHERE ChannelToUserTable.channel=''' + ch_id).results()

我收到以下错误:

TypeError: Model ChannelToUserTable has no property named u'ChannelToUserTable'

但是当尝试在没有WHERE条件的情况下执行相同的查询时 - 我得到了一个完全正确的结果。

有什么想法吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

我认为您的查询应包含

  

... WHERE channel = ...

而不是

  

... WHERE ChannelToUserTable.channel = ...