2012-10-07 114 views
2

出於某種原因,我得到的錯誤:得到錯誤search_products()至少需要兩個參數(給定2)

TypeError: search_products() takes at least 2 arguments (2 given) 

奇怪的是,我做同樣的API調用在兩個不同的地方 - - 我放在一個Model類中的函數。頁面中的另一個View。模型類中的一個工作正常,而View函數中的一個則拋出錯誤。

以下是我在Views.py代碼:

searchproducts=api.API().search_products(query="myproduct") 

同樣,當我在寫這Models.py完全相同的代碼,一切工作正常。在api.py的API類

我search_products功能如下:

def search_products(self, category_id, query="", start=0, limit=10, filter=None, ranged_filters=None, sort_by=None): 

我怎麼能深入挖掘找到爲什麼發生這種情況的根源在哪裏?

回溯:

/Users/me/Desktop/myenv2/lib/python2.7/site-packages/django/core/handlers/base.py in get_response 
       # Apply view middleware 
       for middleware_method in self._view_middleware: 
        response = middleware_method(request, callback, callback_args, callback_kwargs) 
        if response: 
         return response 
       try: 
        response = callback(request, *callback_args, **callback_kwargs) ... 
       except Exception, e: 
        # If the view raised an exception, run it through exception 
        # middleware, and if the exception middleware returns a 
        # response, use that. Otherwise, reraise the exception. 
        for middleware_method in self._exception_middleware: 
         response = middleware_method(request, e) 

回答

3

在你的search_products定義你有category_id爲必填字段,而且您沒有提供作爲參數,當你調用的方法。爲category_id提供默認值或通過相應的參數來解決您的問題

相關問題