无法使用 GQL 查询现有模型
Unable to query with GQL an existing Model
我有一个名为 DB.py 的文件,其中包含以下内容 class:
class ChannelToUserTable(ndb.Model):
user_id = ndb.KeyProperty(kind=UsersTable)
channel = ndb.KeyProperty(kind=ChannelsTable)
并且在同一个文件中我有以下 class 用于 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 条件的情况下执行相同的查询时 - 我得到了一个完全正确的结果。
有什么想法吗?
谢谢,
我认为您的查询应该包含
...WHERE channel=...
而不是
...WHERE ChannelToUserTable.channel=...
我有一个名为 DB.py 的文件,其中包含以下内容 class:
class ChannelToUserTable(ndb.Model):
user_id = ndb.KeyProperty(kind=UsersTable)
channel = ndb.KeyProperty(kind=ChannelsTable)
并且在同一个文件中我有以下 class 用于 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 条件的情况下执行相同的查询时 - 我得到了一个完全正确的结果。
有什么想法吗?
谢谢,
我认为您的查询应该包含
...WHERE channel=...
而不是
...WHERE ChannelToUserTable.channel=...