何らかの理由でエラーが発生します:
TypeError: search_products() takes at least 2 arguments (2 given)
奇妙なことに、同じAPI呼び出しを2つの別々の場所で行います。1つはModelクラスの1つに配置した関数です。ページビューのもう1つ。モデルクラスのものは正常に機能しますが、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)