どのように入力項目Google AppEngine Datastore?
-
23-09-2019 - |
質問
に付いているかどうか確かめたい場合はメールでのデータベースにAppengine、ない場合は:入力してください、datastore.
これまでエラーになります。なぜ、このような単純なコードをなす。 ものがあればより良い方法/効率的な方法を書くことを教えてください)
(Iのエラー:BadArgumentError:未使用の位置引数[1])
class EmailAdd(webapp.RequestHandler):
def get(self):
query = db.GqlQuery("SELECT * FROM EmailDatabase WHERE emailaddress=':1'", self.request.get('emailaddress'))
result = query.get()
if result is None:
newemail = EmailDatabase()
newemail.emailaddress = self.request.get('emailaddress')
newemail.put()
および参考に、これは私のdbクラス:
class EmailDatabase(db.Model):
emailaddress = db.StringProperty()
date = db.DateTimeProperty(auto_now_add=True)
解決
あなたがクエリにパラメータをバインドするときに引用符を使用する必要はありません。
query = db.GqlQuery("SELECT * FROM EmailDatabase WHERE emailaddress = :1", self.request.get('emailaddress'))
それ以外の場合は、文字列としてそれを読み、実際にはそのEMAILADDRESS値として:1
を持つオブジェクトを返します。
また、クエリに挿入する前に、ユーザー入力(self.request.get('emailaddress')
)を検証していることを確認します。
所属していません StackOverflow