假设我有下面的两个模型,我想得到一个所有开发者的查询集,其中有平台字段符合某个值的游戏。我将如何去做呢?
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='name-of-platform').distinct()
不使用... .distinct()
[Django-doc]జజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజ 一样 开发者将被多次返回,如果他们开发了多个 Game
同一个平台的产品。如果这不是问题,您当然可以省去 .distinct()
.