目前我有一个课程数据库,它有 6 列:
class Course(models.Model):
title = models.CharField(max_length=50)
number = models.CharField(max_length=12)
Cat1 = models.BooleanField()
Cat2 = models.BooleanField()
Cat3 = models.BooleanField()
department = models.ForeignKey(Department)
本课程的 unicode 方法输出如下内容:
def __unicode__(self):
return u'%s %s %s %s %s %s' % (self.department, self.number, self.title, 'CAT1' if self.Cat1 else '','Cat2' if self.Cat2 else '','Cat3' if self.Cat3 else '')
返回类似:ENG 1104 Academic Writing Cat1 Cat3
我正在尝试实现搜索以通过文本查询查找课程,所以我尝试了 Haystack(以 Whoosh 作为引擎),但为了更容易索引,我只是在名为 的模型中添加了一个新列text
,我刚刚在其中添加了每门课程的 Unicode 文本。这种方法效果很好,但显然它并不健壮,因为这只是我的一个小项目,用于学习目的,我想知道更有效的方法来完成这个搜索。有任何想法吗?