0
私は私のアプリで検索機能を実装してみましたが、私はそれは例外TypeError .IはDjangoの検索機能の問題
views.py
from django.shortcuts import render
from .models import Games,Game_detail,Order
from django.shortcuts import render,get_object_or_404,redirect
from django.views.generic import ListView,DetailView,CreateView
from django.db.models import Q
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
class IndexView(ListView):
template_name ='games/list.html'
context_object_name = 'all_games'
model = Games
def get_queryset(self,request):
query = request.GET.get("q")
if query:
queryset_list = queryset_list.filter(
Q(name__icontains=query)|
Q(platform__icontains=query)|
Q(genre__icontains=query) |
Q(language__icontains=query)
).distinct()
return Games.objects.all()
リストこのエラーの絵を追加呼んだのエラーを持っています。 HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity=" sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<title>Page Title</title>
</head>
<body>
</body>
</html>
<form method='GET' action=''>
<input type='text' name='q' placeholder='Wyszukaj' value='{{ request.GET.q }}'/>
<input type='submit'class="btn btn-default" value='Szukaj' />
</form>
<table class="table table-striped">
<thead>
<tr>
<th>Nazwa</th>
</th></th>
<th>Platforma</th>
<th>Gatunek</th>
<th>Język</th>
</tr>
</thead>
<tbody>
{% for obj in object_list%}
<tr>
<td><a href ='{%url "detail" pk=obj.pk%}'>{{obj.name}}</a></td>
<td>{{obj.platform}}</td>
<td>{{obj.genre}}</td>
<td>{{obj.language}}</td>
</tr>
{% endfor %}
</tbody>
</table>
Model.py
from django.db import models
class Games(models.Model):
name = models.CharField(max_length=250)
platform = models.CharField(max_length=500)
genre = models.CharField(max_length=100)
language = models.CharField(max_length=100)
image = models.ImageField(upload_to='Images_game',default='')
# def __str__ (self):
# return self.Name
class Game_detail(models.Model):
game = models.ForeignKey(Games,on_delete=models.CASCADE)
subcryption = models.TextField()
publisher = models.CharField(max_length=250)
date_of_publish = models.DateField()
class Order(models.Model):
person_name = models.CharField(max_length=24)
person_surname = models.CharField(max_length=24)
street = models.CharField(max_length=45)
city= models.CharField(max_length=45)
この4つの値を検索したいと思います。私は問題がリターン関数に依存すると間違っていると思います。
のDjangoのドキュメントでより多くの情報を見つけることができます - と私は私の答えを削除することができます。またはそれは同じを見て終わるでしょう:) – karthikr
素敵なキャッチ!ありがとう –
とインデントもあります。 – karthikr