[英]Django - Filter queryset by another queryset through related field
假設我有下面的兩個模型,我想獲得所有開發者的查詢集,這些開發者擁有平台字段匹配特定值的游戲。 我怎么會go呢?
class Developer(models.Model):
name = models.CharField(max_length=100, default="Unknown")
class Game(models.Model):
name = models.CharField(max_length=300)
developer = models.ForeignKey(Developer, related_name="games", on_delete=models.CASCADE)
platform = models.CharField(max_length=40)
我嘗試了一些方法,但似乎無法找出任何可行的方法。
您可以使用以下方式查詢:
Developer.objects.filter(games__platform=).distinct()
如果沒有.distinct()
[Django-doc] ,如果同一個開發者為同一個平台開發了多個Game
,他們將被返回多次。 如果這不是問題,您當然可以省略.distinct()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.