【发布时间】:2021-06-02 11:24:27
【问题描述】:
我将Django Elasticsearch DSL 与 Django 3 应用程序、PostgreSQL 和 Elasticsearch 一起使用。作为模型我有(简化版)
class Jornal(models.Model):
name = models.CharField(max_length = 250)
slug = models.CharField(max_length = 250,blank=True,null = True,unique = True)
class Article(models.Model):
title = models.CharField(max_length = 250)
description = models.TextField()
jornal = models.ForeignKey(Jornal,on_delete=models.CASCADE,related_name = 'jornal')
我想通过 jornal slug 过滤查询。为此,我有这个
q = Q("multi_match", query=termo, fields=['title','description'])
entries = ArticleDocument.search().query(q)
entries = entries.filter("match",jornal__slug = jornal_slug)
除了 jornal slug 外,它都可以工作。它不会过滤为完全匹配。
【问题讨论】:
标签: django elasticsearch elasticsearch-dsl