2016-05-11 5 views
1

です。私は簡単なキーワードグループ化ツールを開発中です。 SERPの同じURLの数でフレーズをグループ化したい。ManyToManyによるDjangoモデルグループの一致数は

フレーズは、検索エンジンでキーワードを表します。 SerpEntryはサイト上のリンクを表します。

SerpEntryで少なくとも同じN個のURLを持つフレーズを選択する方法を探しています。

ここでは私のモデルは以下のとおりです。

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() 

は、あなたがそれを行う方法上の任意の提案を持っていますか?

答えて

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) 
+0

私は明日これをチェックします。提案ありがとう! –

関連する問題