2012-02-04 64 views
-1

我已經在谷歌應用程序引擎以下模型:現在給出過濾器/獲取實體在谷歌應用程序引擎,以驗證它是否存在與否

class CustomUsers(db.Model): 
    cuid = db.StringProperty() 
    name = db.StringProperty() 
    email = db.StringProperty() 
    bday = db.StringProperty() 

一個cuid我只是想檢查他是否出現在高複製數據存儲。 在我的意見我寫以下,但最終得到一個500錯誤:

usr_prev = CustomUsers.all().filter('cuid =', request.POST['id']) 
if(not usr_prev): 
    logging.info("this user does not exist") 
else: 
    logging.info("user exists") 

但是這給了我一個錯誤。我該怎麼做? (不考慮任何導入問題。)

+0

什麼是錯誤? – 2012-02-04 15:58:04

+0

:write()參數1必須是字符串或只讀字符緩衝區,而不是int 回溯(最近調用最後一次): 文件「/ base/data/home/apps/s〜 upfbapp2012/1.356582092823580999/django_bootstrap.py「,第62行,主 util.run_wsgi_app(應用程序) 文件」/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py「,第98行,在run_wsgi_app run_bare_wsgi_app(add_wsgi_middleware(application)) run_bare_wsgi_app中的第119行文件「/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py」 sys.stdout.write(數據) – whatf 2012-02-04 16:12:43

回答

0

你可以這樣看:

query = Users.all() 
cnt = query.filter('id =', user_id).count() 
logging.info(cnt) 
return int(cnt) 

一旦做到這一點,看來你是使用Django與App Engine,按照錯誤不必返回字符串響應。你可能想要返回 return HttpResponse("1")而不是return HttpResponse(1)

0

「500錯誤」不是孤立存在的。他們實際上會在調試頁面或日誌中報告有用的信息。我猜你的日誌顯示request.POST沒有元素id,但這只是一個猜測。

+0

感謝您的回答,我只想要一種方式來查看數據庫中是否存在與用戶標識對應的用戶。沒有帖子等問題。 – whatf 2012-02-04 15:43:55

0

我注意到你已經爲usr_prev分配了一個查詢對象。您需要執行查詢。我認爲Query.count(1)函數應該這樣做。

但是,這可能與500錯誤無關。