2010-05-27 82 views
0
this_category = Category.objects.get(name=cat_name) 

查詢提供了錯誤:get() takes exactly 2 non-keyword arguments (1 given)Django的獲得()不工作

我使用AppEngine上的幫手,所以也許這是造成問題。類別是我的模特。 Category.objects.all()工作正常。過濾器也類似不起作用。

感謝,

+0

Django模型不workoñ應用帶修補程序或幫助程序的引擎。你好嗎?你可以包括你的模型的來源? – 2010-05-27 13:26:51

回答

1

你有任何功能命名namecat_name?如果是這樣,請嘗試更改它們或您正在使用的變量名稱並再次嘗試。

+0

不,沒有名爲name或cate_name的函數,如果我在括號內將其更改爲id = 1,它仍然不起作用 – pimcoooooooo 2010-05-27 13:25:29

1

幫助器通過appengine_django.models.ModelManager將Django模型管理器(在這種情況下爲Category.objects)映射回模型的類實例。通過繼承鏈,你最終會得到appengine.ext.db.Model.get(cls, keys, **kwargs),這就是你看到這個錯誤的原因。該幫助程序不支持Django所做的get的相同接口。如果你不想get按主鍵,你必須使用過濾器

做你的查詢,您需要使用GAE過濾功能是這樣的:

this_category = Category.objects.all().filter('name =', cat_name).get()