python - 如何在 Django 中查询从两个单独的模型 CharField(名字和姓氏)构建的完整(或部分)名称?
问题描述
我正在尝试使用查询用户全名,但遇到了一些麻烦。当我查询“John”或“Doe”时,我得到了正确的结果,但是当我查询“John Doe”时却没有。
虽然我知道我的查询是以这种方式显式构造的(名字或姓氏),但我的问题是如何组合这些字段,以使“John Doe”、“John Do”、“Jon D”等中的任何一个都能产生正确的结果?
模型:
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def __str__(self):
return f"{self.last_name.title()}, {self.first_name.title()}"
看法:
def search_results(request):
query = request.GET.get('q')
person_list = Person.objects.filter(
Q(first_name__icontains=query) | Q(last_name__icontains=query))
context = {'person_list': person_list}
return render(request, 'myapp/search_results.html', context)
解决方案
推荐阅读
- python - Python:从另一个类调用字符串
- airflow - 如何将外部 DAG 作为我的 DAG 的一部分运行?
- java - 在 jsp 上创建/显示 servlet 响应
- php - Codeigniter HMVC Cron 作业 (CLI) 失败
- javascript - Angular js:一切正常,但在 html 中创建的按钮在 compile 不起作用
- symfony - 如何在 Sonata Media Bundle 中显示每个模块的所有上下文列表?
- javascript - 即使我正确填写了prompt(),我的if语句怎么能不起作用
- javascript - 基本反应本机应用程序中的高内存消耗
- python - 如何使用循环来计算nan的数量
- clojurescript - 任何人都可以给我一个建议,让我在 CLJS 或其他使用 Clojure 的仪表板文本编辑器中使用 QuillJS?