假设我有 2 个模型:
Class Tree(models.Model):
title = models.CharField(max_length=255)
Class Apple(models.Model):
tree = models.ForeignKey(Tree, related_name="apples")
如何选择所有具有Apples的Trees。我的意思是我
想从.Tree
我想我想执行这个查询:
SELECT DISTINCT tree.id, tree.title
FROM apple JOIN tree ON apple.tree = tree.id
到目前为止,我已经写了 2 个查询并且它们正在工作,但我认为它们不是最好的做法:
Tree.objects.filter(
apples__tree__in=Apple.objects.all().values_list("tree")
).distinct()
Tree.objects.filter(apples__tree__isnull=False).distinct()