django - Elasticsearch订购不正确

标签 django elasticsearch

我有这个模特

class Profile(User):

rg = models.CharField(max_length=20, null=True,blank=True)
cpf = models.CharField(max_length=15, unique=True, null=True)
about = models.TextField(_('about'),max_length = 10000, null=True, blank=True)
knowledge = models.ManyToManyField(SubCategory, related_name="profile_knowledge")

class Meta:
    verbose_name = _('profile')
    verbose_name_plural = _('profiles')
    db_table = 'pd_profile'
    permissions = (
        ("view_all_users", "Can view user details"),
        ("edit_all_users", "Can edit user details"),
        ("search_profile", "Can search talents"),
        ("user_config", "Can access user config page "),
        ("add_users_permissions", "Can add global permissions to user"),
        ("export_user_data", _("Can export users data")),
    )

def __str__(self):
    return self.full_name

我想通过以下配置文件进行查询:
query = SearchQuerySet().all().models(Profile)
t = query.filter(content=data.get('value'))
if not t:
    suggestion = query.spelling_suggestion(data.get('value'))
    t = query.filter(content=suggestion)
query = t
query = query.order_by("full_name")

我的问题是,order_by简单方法不起作用...我的查询应按字母顺序返回,但不起作用。难道我做错了什么?谢谢

django-haystack == 2.5.0 djangorestframework == 3.3.2 elasticsearch == 1.5.2

最佳答案

我确实通过在search_indexes.py中添加字段来解决了该问题
full_name = index.CharField(model_attr ='full_name',indexed = False,stored = True)

比我做一个rebuild_index,它像一个魅力。
不管怎么说,还是要谢谢你。

关于django - Elasticsearch订购不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59652908/

相关文章:

python - Django |在模板中对字典进行排序

elasticsearch - 为什么这个Elasticsearch查询不完全匹配字符串?

python - Django Rest Framework,更新嵌套的序列化数据

python - Django 'Request' 对象没有属性 'user_id'

python - django-filter order_by "Cannot resolve keyword ' 名称'进入字段“

elasticsearch - 可以查询多个索引吗?

java - Elasticsearch 按嵌套字段分组

elasticsearch - Elasticsearch edge_ngram token_chars空格

elasticsearch - 在Elasticsearch中为索引重新索引-ELK

python - Django:您如何提供媒体/样式表并在模板中链接到它们