私がしたいことは、ページを保持するミニCMSを構築することです。なぜGQLクエリが一致しないのですか?
私のurls.pyの最後のルートは、現在のリクエストと同じuriで利用可能なページがあるかどうかをチェックし、もしあればそのページを表示する、私のviews.pyの関数を指しています。
私はモデルがあります:私の見解では
class Page(db.Model):
title = db.StringProperty(required=True)
uri = db.TextProperty(required=True)
created = db.DateTimeProperty(auto_now_add=True)
modified = db.DateTimeProperty(auto_now=True)
content = db.TextProperty()
:
def show(request):
page = db.GqlQuery('SELECT * FROM Page WHERE uri=:uri', uri=request.path).get()
if page is None:
return http.HttpResponseNotFound()
else:
return respond(request, 'pages_show', {'content': request.path})
をそして私は、データストアへのURIとして '/仕事' でエンティティを追加しました。
request.pathが正確に '/ work'であっても、クエリは一致を返しません。
アドバイスいただきありがとうございます!
はい、私はPythonのnoobです、App Engineは最終的に言語を学ぶのにぴったりです。
実際にはuriプロパティはまったく必要ありません。 key_nameがURIと等しいページエンティティを作成した場合、Page.get_by_key_name(uri)を使用してページエンティティを検索すると、一意性が無料になります! –
偉大なアイデアクモ形。私はあなたのヒントのために+1したい:-)ありがとう! –
ありがとうございます。私は同じことをやっていて、なぜクエリがうまくいかないのか理解できませんでした。あなたの記事は私を狂わせから救った。 – ibiza