我想在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中保存的值是在被索引的对象中。