2010-05-27 43 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()