Django选择相关

时间:2016-10-20 10:32:12

标签: django django-models django-views django-select-related

我想像这样过滤数据库。

qs = profile.objects.filter().select_related('profile_detail').select_related('location')

但是这里的位置是profile_detail模型中的一个外键。那我该怎么做呢?

class Location(models.Model):
      place = models.CharField(max_length=128)

 class ProfileDetail(models.Model):
     location = models.ForiegnKey(Location)

  class Profile(models.Model):
      detail = models.ForeignKey(ProfileDetail)

1 个答案:

答案 0 :(得分:2)

您可以使用相关的查询查询语法__

https://docs.djangoproject.com/en/1.10/topics/db/queries/#lookups-that-span-relationships

qs = profile.objects.filter().select_related('detail__location')

它应detail而不是profile_detail。就像你在Profile中的字段叫

一样