我有一个包含 303 个 Game() 实体的 GAE 数据存储。
class Game(db.Model):
title = db.StringProperty(required = True)
slug = db.StringProperty(required = True)
category = db.CategoryProperty()
description = db.TextProperty(required = True)
created = db.DateTimeProperty(auto_now_add = True)
'slug' 属性类似于标题,不同之处在于它用连字符替换所有空格并删除所有特殊字符。例如:(“第一场比赛!”变成“第一场比赛”)
在网站上,我列出了所有使用 Bootstrap 折叠手风琴的 303 款游戏。它工作得很好,但是因为有这么多游戏,我试图设置一个列出字母表的侧面导航。用户将单击其中一个字母以跳转到列表的特定位置。例如:(用户点击“N”,页面跳转到以“N”开头的游戏)。
我知道这是可行的,因为如果我将“slug”硬编码到 HTML 中,它将正确跳转到所需位置。但是,“slug”必须在正确的“slug”之前一,否则它不会正确跳跃。例如:(用户点击'N',HTML中的slug需要'my-last-m-game'才能跳转到正确的位置,并在页面顶部显示'N'个游戏)。
我的问题(对不起,冗长的解释)是,是否可以通过 GQL 查询来获取字母表中每个字母的最后一场比赛?还是将所有游戏放在列表/字典中并以这种方式获得正确的“slug”更好?或者我应该向数据本身添加一个属性,它允许我只搜索“A”游戏或“T”游戏的 GQL 搜索,以获得正确的“slug”。或者是否有我可以在 Bootstrap 中使用的偏移量,这将允许我获得第一个“N”游戏“slug”并使用它跳转到页面上的正确位置?
谢谢你的尽心帮助。这是我第一次在 stackoverflow 上发帖,如果我做得不对,请道歉。