web-dev-qa-db-ja.com

Django TypeError 'メソッド'オブジェクトは添え字化できません

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")
21
Ilja Everilä