使用 Django 模型管理器记录中的词频计数
Word frequency count within record with Django model Manager
我正在构建一个 Django 应用程序,该应用程序使用大量文本的数据库,它计算文本中的一些预定义短语。它不计算包含短语的记录数,但计算一条记录内的频率。这就是我卡住的地方:
如果我直接添加字符串,Django 会计算并找到短语:
frequency = 'Search this text for me, please'.count('this text')
当我将此逻辑与模型管理器一起使用时,"count" 不起作用,并给出错误:
Typeerror: count() takes 1 positional argument but 2 were given
这是我在 model.py
中的代码
class MyModelManager(models.Manager):
def get_queryset(self):
qs = super(MyModelManager, self).get_queryset().values_list('mytext').count('this text')
return qs
class MyModel(models.Model):
mytext = models.TextField()
...
objects = MyModelManager()
你能建议我应该如何继续吗?我走在正确的轨道上还是我应该采用完全不同的方法来使其正常工作?谢谢!
我正在构建一个 Django 应用程序,该应用程序使用大量文本的数据库,它计算文本中的一些预定义短语。它不计算包含短语的记录数,但计算一条记录内的频率。这就是我卡住的地方:
如果我直接添加字符串,Django 会计算并找到短语:
frequency = 'Search this text for me, please'.count('this text')
当我将此逻辑与模型管理器一起使用时,"count" 不起作用,并给出错误:
Typeerror: count() takes 1 positional argument but 2 were given
这是我在 model.py
中的代码class MyModelManager(models.Manager):
def get_queryset(self):
qs = super(MyModelManager, self).get_queryset().values_list('mytext').count('this text')
return qs
class MyModel(models.Model):
mytext = models.TextField()
...
objects = MyModelManager()
你能建议我应该如何继续吗?我走在正确的轨道上还是我应该采用完全不同的方法来使其正常工作?谢谢!