0
私はちょうどpython/djangoの学習を始めました。私は小さなプロジェクトに取り組んでいます。私はモデルとhtmlフォームビルドを持っています。データベースを照会し、ユーザーが入力した目的地の都市に一致するドライバーのすべての名前をフィルターに掛けるにはどうすればよいですか。Djangoユーザ入力に基づいてデータベースを照会します
マイモデル
class Drivers(models.Model):
first_name = models.CharField(max_length=30, null=True, blank=False)
last_name = models.CharField(max_length=30, null=True, blank=False)
destination_one = models.CharField(max_length=50, null=True, blank=False)
私のHTMLフォーム
<form id="searchform" method="get" action="" accept-charset="utf-8">
Search destination:
<input id="searchbox" name="search_res" type="text" placeholder="Search">
<input type="submit" value="OK">
</form>
{% for dr in results %}
{{dr.first_name}}
{{dr.last_name}}
{{dr.destination_one}}
<br>
{% endfor %}
<br>
マイビュー
def newpage(request):
query = request.GET.get('search_res')
if request.method == 'GET':
results = Drivers.objects.filter(destination_one=query)
context = RequestContext(request)
return render_to_response(request,'busapp/newpage.html',{'results': results})
モデルとHTMLは大丈夫です。 views.pyで簡単なdefを作成するのに問題があります。
正確には動作しません。 – schwobaseggl
querry = Noneの場合、ユーザーが 'search_res'パラメータを指定しないでそのページを開いたときに問題が発生します –