微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django-Haystack 无法获取模板 .txt 文件中的数据

如何解决Django-Haystack 无法获取模板 .txt 文件中的数据

下面是我的文件。我的问题是 index_queryset() 中的打印语句打印了所有记录,但前端没有显示任何内容。 所有查询显示“未找到结果”。

models.py

class Jobs(models.Model):
    ID = models.CharField(primary_key = True,max_length = 50)
    JOB_TITLE = models.TextField(db_index=True)
    JOB_COMPANY = models.TextField()
    JOB_LOCATION = models.TextField(db_index=True)
    JOB_SALARY = models.CharField(max_length= 200,null=True)

search_indexes.py

from haystack import indexes
from .models import Jobs
class JobIndex(indexes.SearchIndex,indexes.Indexable):
    text = indexes.CharField(document=True,use_template=True)
    type = indexes.CharField(model_attr='JOB_TITLE')
    location = indexes.CharField(model_attr='JOB_LOCATION')
    
    
    def get_model(self):
        return Jobs

    def index_queryset(self,using=None):
        print(self.get_model().objects.all()) # prints all the objects
        return self.get_model().objects.all()

搜索.html

{% extends 'base.html' %}

{% block content %}
    <h2>Searching</h2>

    <form method="get" action=".">
        <table>
            {{ form.as_table }}
            <tr>
                <td>&nbsp;</td>
                <td>
                    <input type="submit" value="Search">
                </td>
            </tr>
        </table>
        {% if query %}
            <h3>Results</h3>
            
            {% for result in object__list %}
                <p>
                    <a href="{{ result.object.get_absolute_url }}">{{ result.object.JOB_TITLE }}</a>
                </p>
            {% empty %}
                <p>No results found.</p>
            {% endfor %}
            <p>"PAGE": {{ page.object_list }} </p>
            {% if page.has_prevIoUs or page.has_next %}
                <div>
                    {% if page.has_prevIoUs %}<a href="?q={{ query }}&amp;page={{ page.prevIoUs_page_number }}">{% endif %}&laquo; PrevIoUs{% if page.has_prevIoUs %}</a>{% endif %}
                    |
                    {% if page.has_next %}<a href="?q={{ query }}&amp;page={{ page.next_page_number }}">{% endif %}Next &raquo;{% if page.has_next %}</a>{% endif %}
                </div>
            {% endif %}
        {% else %}
            {# Show some example queries to run,maybe query Syntax,something else? #}
        {% endif %}
    </form>
{% endblock %}

Jobs_text.txt(在模板\索引\应用程序中)

{{ object.JOB_COMPANY }}
{{ object.JOB_LOCATION }}

任何帮助将不胜感激。以下是安装的软件包版本。

django-haystack 3.0, Django 3.2.5, pysolr 3.9.0, Solr安装的是8.9.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。