我的Python应用程序上有一个页面,其中有一个与当前用户关联的下拉框,其中的位置名称为下拉框的可见值。我想要做的是允许用户选择其中一个位置与其当前位置相关联。当用户添加新位置时,它将被创建为该用户的子实体,因此我将填充下拉框,如下所示:
locinfo = db.GqlQuery("SELECT * FROM Location WHERE ANCESTOR IS :1", userinfo)
...这就是我打算在网站上显示下拉框的方式(i.key值只是一个占位符,我会解释)。
<select name="lockey">
{% for i in locinfo %}
<option value="{{i.key}}">{{i.locname}}</option>
{% endfor %}
</select>
所以我想要做的是在User记录中添加对一个特定Location实体的引用。在普通的关系数据库中,我将获得每个位置的主键,将它们作为每个选项的值打印出来,并将它们存储在用户记录中作为对用户当前位置的引用。然而,我环顾四周,并没有找到关于检索钥匙的任何信息,而且越是环顾四周,我得到的印象就是错误的方式。
有什么建议吗?
答案 0 :(得分:2)
数据存储区中的键由对象表示,而不是简单值(请参阅here)
对于数据存储区中的任何实体,调用其.key()
方法获取其关键对象,然后通过将其转换为字符串来获取可打印的表示形式。
您可以在为模板准备数据的视图代码中进行此设置,或者如果您希望只能在模板中调用i.key
,则可以在其中创建只读属性模特课。