저는 Google의 응용 프로그램 엔진을 기반으로하는 아주 간단한 웹 응용 프로그램을 작성하고 있습니다. 파이썬과 구글의 데이터 저장소로 작업하는 것은 이번이 처음이다.GqlQuery는 임의의 결과를 반환합니다.
응용 프로그램의 홈 페이지에 몇 가지 질문이 표시되어야합니다. 이러한 질문은 질문이라는 테이블에 저장됩니다.
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 %}
사실, (아주 기본적인) 작업은 잘 실행되지만 프로그램은 목록을 두 번 건너 뛰거나 추가합니다. 이것은 완전히 무작위로 발생합니다. 나는 그것이 몇 시간 동안 튀어 나오지 않을 때 사라질 수도 있다고 생각했다. 디버깅 루프가 이미 잘못된 ID를 나타 내기 때문에 GqlQuery 문 바로 다음에 오류가 발생해야합니다.
건너 뛰거나 추가되는 질문은 무작위로 표시되며 여기에는 패턴이 표시되지 않습니다. 단 하나의 질문은 예상보다 많거나 적은 질문입니다. 한 질문이 건너 뛰게되고 다른 질문이 동시에 두 번 추가 된 적이 결코 보이지 않습니다. 테이블 질문에는 현재 5 개의 항목 만 포함되어 있으므로 매우 관리하기 쉽습니다.
나는 이것이 내 경험 부족의 결과가 아니기를 바랍니다. 나는이 문제에 대해 며칠을 보냈다.
미리 감사드립니다.