我正在开发一个简单的关键字分组工具。 我想按SERP中相同网址的数量对短语进行分组。
短语表示搜索引擎中的关键字。 SerpEntry代表网站上的链接。
我正在寻找一种方法来选择在SerpEntry中至少有N个相同网址的短语。
以下是我的模特:
class Phrase(models.Model):
text = models.CharField(max_length=1000, unique=True)
_serp = models.OneToOneField(Serp, null=True, blank=True, related_name='phrase', db_column="serp")
class SerpEntry(models.Model):
phrase = models.ForeignKey(Phrase, related_name='serp_entry')
position = models.PositiveIntegerField()
url = models.TextField(max_length=2000)
title = models.CharField(max_length=100)
snippet = models.TextField()
您对如何做到这一点有什么建议吗?
答案 0 :(得分:1)
这样的事情可能有用:
Phrase.objects.filter(serp_entry__id__gt=0, #or whatever filter you need
).annotate(has_count=Count('id')
).order_by('serp_entry__phrase', #or whatever order you need
).filter(has_count__gt=100)