gpt4 book ai didi

python - 不确定我应该使用哪种类型的 Django 表单

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:21 25 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个包含 20 万个实例的 Author 模型。我想让用户搜索作者的唯一 ID(它是一个字符串),然后选择一个 ID,然后该 ID 将生成关于该作者的表格和小图形。

我想使用 charfield 模型表单吗?另外,是否有内置的搜索功能?

最佳答案

我认为 Django 没有内置的搜索功能。为此,您必须使用其扩展之一(django-search 或 haystack)。

它们对于你的情况来说可能看起来太复杂了,所以我会选择更简单的解决方案(我会放弃使用表单):

from django.views.generic import ListView
from django.db.models import Q
from .models import Author

def SearchAuthorView(ListView):

def get_queryset(self):
name = self.request.GET['author_name']
name_tokens = name.split(' ')

matched_authors = []
authors = Author.objects.all()
for author in authors:
for name_token in author.name.split(' '):
if name_token in name_tokens:
matched_authors.append(author)
break
return matched_authors

对于 200k,你可能会遇到性能问题,所以如果你这样做,你应该使用优化的原始 MySql 查询。

您可能还想以某种方式对结果进行排序。例如,为姓氏匹配赋予比名字匹配更高的优先级。

关于python - 不确定我应该使用哪种类型的 Django 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25007834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com