簡體   English   中英

Django - 通過相關字段過濾另一個查詢集的查詢集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM