繁体   English   中英

Django(1.9)Watson索引Django Tagging TagField

[英]Django (1.9) Watson index Django Tagging TagField

如何索引由Django标记 (v0.4.5)TagField管理器管理的字段?

标签全部正常工作, Watson (v1.2.1)正在对模型建立索引,并从搜索char和text字段中返回结果,但应该这样做,但是如果搜索词是标签,则不会。

按照记录在AppConfig中完成注册:

from __future__ import unicode_literals
from django.apps import AppConfig
from watson import search as watson

class TeamConfig(AppConfig):
    name = 'team'
    def ready(self):
        Team = self.get_model("Team")
        watson.register(Team, fields=("title_text", "tagline", "description", "tags"))
        Member = self.get_model("Member")
        watson.register(Member)

并且具有tag TagField字段的Team模型都很好:

import blahs
...
from watson import search as watson
from tagging.fields import TagField
...

class Team(models.Model):
    pub_date = models.DateField('date published', auto_now_add=True)
    title_text = models.CharField('Name', max_length=200, blank=False,
    ...
    tags = TagField()
    is_active = models.BooleanField('Active?', default=True)

任何人都知道如何获取与char或text字段相同的字段索引吗?

非常感谢Rich

最后,我删除了Django Tagging,仅使用日期和名称字符串创建了自己的“标签”模型,然后在每个要标记的模型中添加了ManyToMany字段。 需要一些额外的逻辑来更新标签池,但这似乎很容易,只需循环即可在保存关联模型时测试tag.name.exists()。

具有这种简单的字段类型也使Django Material表单易于为静态标签池添加选择器,因此双赢。

我仍然想知道是否有人可以通过模型管理器返回文本,因为我只学习了python和django开/关了几个月,并且真的很喜欢它,所以想做一些适当的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM