q = models.UserInfo.objects.all()
select * from userinfo
select * from userinfo inner join usertype on ...
for row in q:
print(row.name,row.ut.title)
select_related: 查询主动做连表
q = models.UserInfo.objects.all().select_related('ut','gp')
select * from userinfo
select * from userinfo inner join usertype on ...
for row in q:
print(row.name,row.ut.title)
prefetch_related: 不做连表,做多次查询
q = models.UserInfo.objects.all().prefetch_related('ut')
select * from userinfo;
Django内部:ut_id = [2,4]
select * from usertype where id in [2,4]
for row in q:
print(row.id,row.ut.title)