我有两个模型:
class AddressRegion(models.Model):
name = models.CharField(max_length=8)
class AvailableArea(models.Model):
name = models.CharField(max_length=8)
addressregion = models.ForeignKey(AddressRegion, default=1)
在模板中我想方便地使用查询模型。
如果现在我查询我只知道使用 for 循环的数据:
addressRegions = models.AddressRegion.objects.all()
for ar in addressRegions:
availableArea = models.AvailableArea.objects.filter(availablearea = ar)
然后做一些方法来收集它们。
是否有一些简单的方法可以做到这一点?因为我相信 Django 对用户很好。
最佳答案
要获得 child ,您可以使用小写的模型名称 _set
属性:
ar.availablearea_set.all()
# ^^^^^^^
或添加 related_name
class AvailableArea(models.Model):
name = models.CharField(max_length=8)
addressregion = models.ForeignKey(AddressRegion, default=1, related_name='areas')
# ^^^^^
并使用它
ar.areas.all()
关于python - 如何查询Django ORM中的二层数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46235514/