2016-04-14 10 views
1

私はdjangoチュートリアルを行っていますが、TypeError 'method'オブジェクトにサブスクリプトが付いていません。次のコードは実行時にエラーがスローされDjango TypeError 'method'オブジェクトにサブスクリプトがありません

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"]

のですか?

+0

いつも私の不注意のよう。ありがとうIlja、私はそれを受け入れることができる答えとしてこの応答を投稿できますか? –

答えて

7

問題のある行がマッピングGETの方法getで添字表記を使用しようとします。

query = self.request.GET.get["q"] 

方法を使って呼び出されるべきである。

query = self.request.GET.get("q") 
関連する問題