多表操作:
基于对象的跨表查询(多次查询)
一对一:
正向查询按字段
反向查询按表名小写
一对多:
正向查询按字段(正向查询一定会查出一个来)
反向查询按表名小写_set.all()(返回结果是queryset对象)
多对多:
正向查询按字段.all()(正向查询一定会查出多个来)
反向查询按表名小写_set.all()(返回结果是queryset对象)
基于双下划线的跨表查询
在filter和values中都可以做连表操作(也就是都可以写__)
正向查询按字段
反向查询按表名小写
无论以谁做基表,没有效率之分