Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
440 views
in Technique[技术] by (71.8m points)

django 有什么好方法对tags 的标题按字排序?

class Tags(models.Model):
    name = models.CharField(_(u'标签'), max_length=255)
    excerpt = models.TextField(_(u'简介'))
    
class Topic(models.Model):
    title = models.CharField(_(u'标题'), max_length=255)
    body = models.TextField(_(u'内容'))
    tags = models.ManyToManyField('Tags', verbose_name = _(u'标签'), blank = True)

如果tags 都是词语,如:高高兴兴 高大 很高 趾高气扬 高见 发高烧 挑高球 三高 升高 对应: tags.name

topic是单个字:高 对应:topic.title

怎么样 给tags 排序 分别挑出 高(topic.title) 开头的词 , 高在中间的词, 高在末尾的词?

    如下代码是想挑出 字高 开头的词语。并不成功!!
    
        tagslist = topic.tags.all()
        index_list = []
        for a, b in enumerate(tagslist):
                if str(b).find(str(topic.title))==0:
                    index_list.append(b)
        context['index_list'] = index_list

差不多就是要实现下面这个功能

image.png

有什么好办法实现吗?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

倒排索引,比如mysql的fulltext index或者postgresql的gin index都行。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...