0
我正在研究一個簡單的關鍵字分組工具。Django group FK by field
短語代表搜索引擎中的關鍵字。 SerpEntry表示現場鏈接。
我正在尋找一種將SerpEntry網址的短語分組的方法。
這裏是我的模型:
class Phrase(models.Model):
text = models.CharField(max_length=1000, unique=True)
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=1000)
snippet = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
你有關於如何做到這一點有什麼建議?結果
的例子,我想實現:
urls = [
'url1': [phrase1,phrase2,phrase3],
'url2': [phrase2,phrase4,phrase5],
]
豈不是更好地使用[''ManyToMany''(https://docs.djangoproject.com/en/1.9/topics/db/examples/many_to_many/)的關係,而不是隻''ForeignKey''?一個URL可以有多個短語,所以它是有道理的。 – Flaiming
SerpEntry對於每個短語都是獨一無二的,因爲網址可以處於不同的位置並隨着時間的推移改變其位置。我添加了完整SerpEntry的片段。但如果你有與ManyToMany分組的解決方案,歡迎您:) –