如何解决如何使用python django中的某些匹配字母而不是完全匹配过滤查询结果?
如果我发送与数据库中完全相同的搜索词,则此代码有效。 但是,如果我有一个任务“ Learn django”,则希望通过例如“ lea”或“ djan”搜索字符串找到它。
在Views.py:
def filter_tasks(request:HttpRequest):
context = {'task_list' : Task.objects.all().filter(content=request.POST['content'])
}
return render(request,'tasks/task_list.html',context)
以HTML格式
<form action="{% url 'filter_tasks' %}" method="POST" autocomplete="off">
{% csrf_token %}
<div class="input-group">
<input type="text" class="form-control" name="content"
placeholder="search for tasks">
<div class="input-group-append text-info">
<span class="input-group-text bg-white py-0">
<button type="submit" class="btn btn-sm text-info">
<i class="fa fa-search fa-lg"></i>
</button>
在型号上:
class Task(models.Model):
content = models.TextField()
解决方法
def filter_tasks(request: HttpRequest):
context = {
'task_list': Task.objects.filter(
content__icontains=request.POST['content']
)
}
return render(request,'tasks/task_list.html',context)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。