django之表多对多查询


 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) # 在这不再需要连表

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM