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 (将#修改为@)