簡體   English   中英

如何在Google AppEngine數據存儲中輸入項目?

[英]How to enter item into Google AppEngine Datastore?

我想檢查一下電子郵件是否在Appengine的數據庫中,如果沒有:然后將其輸入數據存儲區。

我是python的新手。 為什么這個簡單的代碼不起作用? (如果有更好的方式/更有效的方式來寫這個,請告訴我)

(我得到錯誤: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'))

否則它會將其作為字符串讀取,實際上只返回具有:1作為其emailaddress值的對象。

此外,在將其插入查詢之前,請確保驗證用戶輸入( self.request.get('emailaddress') )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM