【发布时间】:2019-01-19 15:26:45
【问题描述】:
我有这两个 Django 模型:
class Animals(models.Model):
id = models.AutoField(primary_key=True)
name = models.TextField(unique=True)
class Meta:
db_table = 'animals'
class AnimalSounds(models.Model):
id = models.AutoField(primary_key=True)
animal = models.ForeignKey(Animal, on_delete=models.PROTECT)
sound = models.TextField(unique=True)
class Meta:
db_table = 'animal_sounds'
现在我的 SQL 查询看起来像这样:
SELECT * FROM animals WHERE animals.id IN (
SELECT animal_id FROM animal_sounds
)
我将如何使用 Django 模型来做到这一点?从概念上讲是这样的:
Animals.objects.filter(id__in=AnimalSounds.objects.all('ids'))
【问题讨论】:
标签: sql django python-3.x postgresql django-models