相关疑难解决方法(0)

haystack - 如何使用ForeignKeys显示来自多个模型的数据?

我有两个型号:

models.py

class model1 (models.Model):
   field1_model1 = models.CharField()
   filed2_model1 = models.CharField()

class model2 (models.Model):
   field1_model2 = models.ForeignKey(model1)
   field2_model2 = models.CharField()
Run Code Online (Sandbox Code Playgroud)

使用Haystack我想基于filed1_model1进行文本搜索,但是当我这样做时,我想在搜索结果中显示filed2_model2.

search_indexes.py以及search.html模板文件中的内容是什么?

django solr django-models django-haystack

7
推荐指数
1
解决办法
3529
查看次数

干草堆多字段搜索

嗨,我使用带有 woosh 的 haystack 作为搜索引擎:

我的模型如下

class Person(models.Model):
    personid = models.IntegerField(primary_key = True, db_column = 'PID')  
    firstname = models.CharField(max_length = 50, db_column = 'FIRSTNAME')  
    lastname = models.CharField(max_length = 50, db_column = 'LASTNAME') 
    class Meta:
        db_table = '"TEST"."PERSON"'
        managed = False


class TDoc(models.Model):
    tdocid = models.IntegerField(primary_key = True, db_column = 'TDOCID')  
    person = models.ForeignKey(Person, db_column = 'PID')
    content = models.TextField(db_column = 'CONTENT', blank = True) 
    filepath = models.TextField(db_column = 'FILEPATH', blank = True) 
    class Meta:
        db_table = '"TEST"."TDOC"'
        managed = False …
Run Code Online (Sandbox Code Playgroud)

python search whoosh django-haystack

4
推荐指数
1
解决办法
3488
查看次数

搜索多个字段

我想我不会正确地解读django-haystack:

我有一个包含几个字段的数据模型,我想搜索其中两个:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True, default=None)
    twitter_account = models.CharField(max_length=50, blank=False)
Run Code Online (Sandbox Code Playgroud)

我的搜索索引设置:

class UserProfileIndex(SearchIndex):
    text = CharField(document=True, model_attr='user')
    twitter_account = CharField(model_attr='twitter_account')

    def get_queryset(self):
        """Used when the entire index for model is updated."""
        return UserProfile.objects.all()
Run Code Online (Sandbox Code Playgroud)

但是当我执行搜索时,只搜索字段"username"; "twitter_account"被忽略.当我通过dbshel​​l选择Searchresults时,对象包含"user"和"twitter_account"的正确值,但结果页面显示"无结果":

    {% if query %}
        <h3>Results</h3>

        {% for result in page.object_list %}
            <p>
               <a href="{{ result.object.get_absolute_url }}">{{ result.object.id }}</a>
            </p>
        {% empty %}
            <p>No results</p>
        {% endfor %}
    {% endif %}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python django django-haystack

3
推荐指数
1
解决办法
3240
查看次数

标签 统计

django-haystack ×3

django ×2

python ×2

django-models ×1

search ×1

solr ×1

whoosh ×1