我正在编写一个基于谷歌应用引擎的非常简单的网络应用程序。这是我第一次使用 Python 和 Google 的数据存储。
该应用程序应在其主页上显示一些问题。这些问题存储在名为 Question 的表中。
class Question(db.Model):
question_id = db.IntegerProperty()
question = db.StringProperty()
以下代码选择此表的所有条目并将数据提交到模板。
questions = db.GqlQuery('SELECT * FROM Question ORDER BY question_id')
# debugging loop
for question in questions:
logging.info(questions.question_id)
template_values = {
'questions' : questions
}
最后,模板在 index.html 上显示问题。
{% for question in questions %}
// HTML-CODE
{{ question.question }}
// HTML-CODE
{% endfor %}
实际上,这些(非常基本的)操作运行良好,但程序两次跳过或添加问题到列表中。这完全随机发生。我什至认为它可能会在几个小时没有弹出时消失。错误必须在 GqlQuery 语句之后立即发生,因为调试循环已经指示错误的 id。
哪个问题被跳过或添加也是随机的,我在这里看不到模式。唯一的问题是,这不是比预期多或少的一个问题。似乎从来没有一个问题被跳过,另一个问题同时被添加两次。表 Question 目前仅包含五个条目,因此非常易于管理。
我希望这不仅仅是我缺乏经验的结果。我在这个问题上花了几天时间。
先感谢您。