1 class Boy(models.Model):
2 name = models.CharField(max_length=32)
3
4 class Girl(models.Model):
5 nick = models.CharField(max_length=32)
6
7 class Love(models.Model):
8 b = models.ForeignKey('Boy')
9 g = models.ForeignKey('Girl')
10
11 # 多对多连表查询 普通查询
12 love_list = Love.objects.filter(b__name='方少伟')
13 for row in love_list:
14 print(row.g.nick) # 在这还再需要连表
15
16 # 多对多连表查询 直接连表查询完成
17 love_list = Love.objects.filter(b__name='方少伟').values('g__nick') # love_list里面全是字典
18 for row in love_list:
19 print(row['g__nick']) # 在这不再需要连表
20
21 # 多对多连表查询 直接连表查询完成
22 love_list = Love.objects.filter(b__name='方少伟').select_related('g') # love_list里面全是queryset对象
23 for row in love_list:
24 print(row.g.nick) # 在这不再需要连表