django - 搜索 django-taggit 标签

标签 django django-taggit

我需要帮助将 django-taggit 标签添加到我的搜索功能中。我目前正在使用我在此处找到的搜索功能 ( Search page on the django )。有什么办法可以将 taggit 合并到其中吗?还是我最好使用像 Haystack 这样的软件包?这是我公司的一个简单的内部网络应用程序,大约 3-4 名轻度用户。

编辑

试图使这个问题更有针对性,而不是基于意见。下面是我目前使用的搜索功能。我如何合并 django-taggit 表、taggit_tag(存储单词的位置)和 taggit_taggeditem(存储与主模型的关系的位置)来提取这些记录,然后将它们合并到 entry_query 中,同时只保留唯一的 PK?

def search(request):
found_entries = None
if ('q' in request.GET) and request.GET['q'].strip():
    # query_string is a separate function that simple cleans the search string that is passed in by the user
    query_string = request.GET['q']
    entry_query = get_query(query_string, ['company_name', 'stock_symbol', 'address'])
    found_entries = Company.objects.filter(entry_query).order_by('company_name')\
        .annotate(num_transcripts=Count('transcripts'))

return render_to_response('company_list.html', {'all_companies': found_entries})

最佳答案

上次我尝试在 query_statement 中添加“标签”时没有成功,但现在可以了。回答这个问题以防其他人遇到类似问题。

def search(request):
found_entries = None
if ('q' in request.GET) and request.GET['q'].strip():
    query_string = request.GET['q']
    entry_query = get_query(query_string, ['company_name', 'stock_symbol', 'address', 'tags'])
    found_entries = Company.objects.filter(entry_query).order_by('company_name')\
        .annotate(num_transcripts=Count('transcripts'))

return render_to_response('company_list.html', {'all_companies': found_entries})

关于django - 搜索 django-taggit 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43983013/

相关文章:

javascript - 点击输入 Django 时会出现建议标签

django - 如何在 django 中使用 django-taggit 按标签过滤帖子

javascript - 如何使用 dajax/dajax-ice 填充 div?

python - 为我的 python 项目创建 setup.py,下载依赖包时出现问题

python - 如何在python中按日期名称获取日期?

django-taggit:有没有办法产生更少的数据库查询?

django-taggit - django taggit 从外键查找中获取所有用户标签

python - 如何在 Django 的运行服务器中进行事后调试?

具有细粒度访问控制的 Django 身份验证

python - 从 taggit 获取所有标签