1
我有可以與圖像和位置相關聯的標籤。如何使用ORM作爲SQL計數,組和連接查詢的等價物?
- 標籤是獨一無二的。
- 圖像和位置可以有很多標籤。
- Tag_Item模型用於將所有內容鏈接在一起。
下面是型號:
LOCATIONS = (
('US', 'USA'),
('UK', 'United Kingdom'),
('FR', 'France'),
)
class Location(models.Model):
location = models.CharField(choices=LOCATIONS)
class Image(models.Model):
image = models.ImageField(verbose_name='Image')
class Tag(models.Model):
tag = models.CharField(max_length=150, unique=True)
class Tag_Item(models.Model):
tag = models.ForeignKey(Tag, on_delete=models.CASCADE)
location = models.ForeignKey(Location, null=True, blank=True, default=None)
image = models.ForeignKey(Image, null=True, blank=True, default=None)
created_at = models.DateTimeField(auto_now_add=True)
我想編寫一個查詢,這意味着選擇五種最常見的標籤爲美國。
我在想大意如下的東西在SQL:
- 加入標籤,Tag_Item和位置,其中位置是「美」。
- 按標籤分組。
- 通過Tag_ID(或沿着這些線的東西)對它進行排序。
但我無法弄清楚如何在Django ORM中傳輸。
你能幫我解釋一下這種複雜的關係查詢嗎?
看看註釋和聚合https://docs.djangoproject.com/el/1.10/topics/db/aggregation/ – Johan
嘿,@TomBrock我想知道,你發現我的答案有幫助嗎? –