向django-watson添加自定义字段

时间:2015-10-26 15:48:05

标签: django django-signals

我想在watson模型SearchEntry中包含一个自定义字段,因为几乎所有搜索都会包含它。

我已经创建了一个自定义引擎,可以在安装时创建新字段和索引并链接到设置中:

   WATSON_BACKEND = "tools.custombackend.SearchBackend"

我可以看到我将如何通过创建自定义SearchAdapter将其包含在搜索中,该自定义SearchAdapter是在我注册模型时设置的。

但是,我无法弄清楚如何将我的价值融入模型中。我以为我可以使用信号,但它永远不会被触发。

这是signals.py

from django.db.models.signals import pre_save, pre_delete, post_save, post_delete
from django.dispatch import receiver
from django.conf import settings
from watson.models import SearchEntry

@receiver(post_save, sender=SearchEntry)
def model_post_save(sender, **kwargs):
    never gets here....

我从其中一个知道触发的apps.py中调用它。

class ToolsAppConfig(AppConfig):
    name = "tools"
    def ready(self):
        print 'loading signals'
        import tools.signals

我是否错误地设置了信号接收器? 也许有更好的方法?我想要在searchentry中保存的值是在被索引的对象中。

0 个答案:

没有答案