Djangoチュートリアルを行っていますが、TypeError 'メソッド'オブジェクトをサブスクリプト化できません。次のコードを実行するとエラーがスローされます
class ProductListView(ListView):
model = Product
queryset = Product.objects.all()
def get_context_data(self, *args, **kwargs):
context = super(ProductListView, self).get_context_data(*args, **kwargs)
context["now"] = timezone.now()
context["query"] = self.request.GET.get["q"]
return context
def get_queryset(self, *args, **kwargs):
print(self.request)
qs = super(ProductListView, self).get_queryset(*args, **kwargs)
query = self.request.GET.get["q"]
if query:
qs = self.model.objects.filter(
Q(title__icontains=query) |
Q(description__icontains=query)
)
try:
qs2 = self.model.objects.filter(
Q(price=query)
)
qs = (qs | qs2).distinct()
except:
pass
return qs
問題の行はquery = self.request.GET.get["q"]
この問題を解決するにはどうすればよいですか?
問題のある行は、マッピングget
のメソッドGET
で添え字表記を使用しようとしています。
query = self.request.GET.get["q"]
メソッドは次のように呼び出す必要があります。
query = self.request.GET.get("q")