Данные не фильтруются в функции поиска в Django
Я пытаюсь создать функциональность поиска в Django, когда пользователь ищет значение в метке, а она возвращает совпадающее значение на той же странице в формате таблицы. Я получаю данные из API и сохраняю их в базе данных.
Я создал функциональность поиска, но она не получает значения и показывает пустые данные, даже те, которые есть в базе данных. Я не знаю, где я ошибаюсь, я много пытался решить эту проблему.
Я хочу изначально показать все таблицы, а затем отфильтровать их через функцию поиска.
views.py
def homeview(request):
userb = Userbase.objects.all()
table_data= requests.get('http://127.0.0.1:1500/api/').json()
#api data saving in db
for new_data in table_data:
data = {
'region': new_data['region'],
'Area': new_data['area'],
'PBK_Desc': new_data['PBK_Desc'],
}
userb = Userbase.objects.create(**data)
userb.save()
if request.method == 'POST':
finder = request.POST['PBK_Desc']
invoiceuser = Userbase.objects.filter(PBK_Desc__icontains=finder)
print(invoiceuser)
print(finder)
return render(request, 'home.html', {'invoiceuser':invoiceuser, 'finder':finder})
return render(request, 'home.html', {'userb':userb,'table_data':table_data})
html:
<form action="" method="POST" autocomplete="off">
<div style="margin-left: 19px; font-size: 17px;">PBK Description</div>
<div class="row" id="id_row">
<input type="text" name="PBK_Desc" maxlength="255" class="form-control mb-3"
placeholder="PBK Description"
id="PBK_Desc" required="" style="margin-left: 30px;">
</div>
<br>
<br>
<input type="submit" value="Apply" id="btn_submit" style=" width:90px; height:45px;
margin-left: 40px; margin-bottom: 30px;"class="btn btn-success btn">
<input type="reset" value="Reset" id="btn_submit" style=" width:90px;
height:45px;margin-left: 65px; margin-bottom: 30px;" class="btn btn-success btn">
</div>
</form>
<table class="table table-striped border" id='table_id'>
<thead>
<thead id="tablehead">
<tr>
<th>Region</th>
<th> Area </th>
<th> PBK_Desc</th>
</tr>
<tbody>
{% if finder %}
{% for list in invoiceuser %}
<tr >
<td>{{list.region }} </td>
<td>{{list.area}}</td>
<td>{{list.pbkdec}}</td>
</tr>
{% endfor %}
</div>
{% endif %}
models.py
class Userbase(models.Model):
region = models.CharField(max_length=155, null=True)
Area = models.CharField(max_length=155, null=True)
country = models.CharField(max_length=155, null=True)