顧客一覧ページで、会社名の検索機能を設けたい。
template
<form action="/client/1" method="post">
{% csrf_token %}
<div class="form-group row">
<div class="col-md-10">
<input type="text" class="form-control" name="name" placeholder="検索する会社名を入力してください">
</div>
<div class="col-md-2">
<button class="btn search-btn" type="submit">検索</button>
</div>
</div>
</form>
<span>{{ query }}</span>
– if(request.method==’POST’)でgetとpostを分岐させる
– 検索は *.objects.filter(column=value)と書く
– あいまい検索には(column__contains=value)と書く
– nullで検索された場合は、メッセージを表示させたくないので、最初の分岐で、and request.POST[‘name’]も追加する
views.py
def client(request, num=1):
if(request.method=='POST' and request.POST['name']):
name= request.POST['name']
data = Clients.objects.filter(name__contains=name)
page = Paginator(data, 3)
params = {
'data' : page.get_page(num),
'query' : "会社名に「" + name + "」を含む検索結果"
}
else:
data = Clients.objects.all()
page = Paginator(data, 3)
params = {
'data' : page.get_page(num)
}
return render(request, 'sales/client.html', params)

うん、GoodJob! 意外と簡単にできました。
得意先一覧ができたので、続いて見積管理を作っていきます。
得意先が複数の見積を持つというhasManyのモデルをどう作るか考えなければなりません。