在谷歌应用程序引擎中按名称获取

2024-05-14 15:16:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试获取url的名称并打印内容,而不是使用get \u by \u id()方法获取特定条目的id并从google数据存储中打印该条目的内容。例如:

<a href="http://.../name"></a> 

打印具有此特定名称的所有内容(可能有多行具有此名称的内容)

<a href="http://.../343532432"></a>

打印特定id的内容

在我的示例的第二部分中,我使用getbyid(long(id))来获取id,它是有效的。我正在尝试使用get\u by\u key\u name(name),但它不起作用。有什么想法吗?谢谢您。你知道吗

抱歉,因为我不能留言,我正在编辑我的问题。基本上,从现在起,我可以从我的数据存储中获得所有动物的名字,并且我在模板文件中使用html代码使它们可以点击。在数据存储中,存在多次使用相同动物名称的条目(例如,name=duck,content=water和name=duck,content=lake)。现在,当我点击每个动物的名字时(我在gql查询中使用DINSTINCT只打印了一次多余的元素(例如duck),因为name=duck有两个内容,所以当我点击duck的名字时,我想看到这两个内容。我的问题是,如果我使用getbyid(long(id))我会得到每个元素的唯一id。但是这不会同时打印name=duck的内容,因为每个条目都有一个唯一的id。但是我希望所有条目的内容都具有相同的名称。我正在尝试下列方法,但不起作用。你知道吗

     msg = MODEL.Animals.get_by_key_name(name)
     self.response.write("%s" % msg.content)

Tags: 数据方法name目的名称idhttp内容
1条回答
网友
1楼 · 发布于 2024-05-14 15:16:20

使用get \u by \u id()仅当您知道此id时才能获取实体。此操作在配额中称为“小操作”,并且比数据存储读取便宜,但要获取按索引属性筛选的实体列表,应使用筛选器。你知道吗

query = MODEL.Animals.query()
query = query.filter(MODEL.Animals.name == 'duck')
ducks = query.fetch(limit=100)  # limit number of returned animals
for duck in ducks:
   self.response.write('%s - %s' % (duck.name, duck.content))

默认情况下,所有字符串属性都被编入索引,因此您可以执行此类请求。你知道吗

相关问题 更多 >

    热门问题