1.多表查询
基于对象
基于双下划线
正向和反向
聚合查询
分组查询(配合聚合使用)
F查询和Q查询
2.其他字段和字段参数
其他字段
字段参数;ORM参数
ForeignKey 属性
ManyToManyField 用于表示多对多的关联关系。在数据库中通过第三张表来建立关联关系
中间表创建方式
在表中都可以定义要给内部类
3.Django和Ajax
ajax:异步Javascript和XML
作用:Javascript语言与服务器(django)进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)
同步交互,异步交互
使用:使用了jq帮咱们封装的方法 ajax ,名字跟ajax相同 $.ajax
真正的ajax原生,需要使用js操作,jq的ajax方法是对原生js的封装,方便咱们使用
计算 + 小案例
上传文件
json格式用的多,后期
作业
1.连表有哪几种连接方式
内连接(INNER JOIN)
sql
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
结果表中,只返回两个表中有共有的连接关系(id)的值(and)
左外连接(LEFT JOIN)
sql
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
以左表为基础,左表全数据在结果表中展示,右表中有连接关系(id)的数据填充到结果,没有的在结果表中填充NULL
右外连接(RIGHT JOIN)
sql
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
以右表为基础,右表全数据在结果表中展示,左表中有连接关系(id)的数据填充到结果,没有的在结果表中填充NULL
全连接(FULL OUTER JOIN)
sql
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
左右表的所有数据以连接关系(id)为基准展示,没有的在结果表中填充NULL
交叉连接(CROSS JOIN)
sql
SELECT column_name(s)
FROM table1
CROSS JOIN table2;
交叉连接返回两个表中的所有可能的组合,结果表展示笛卡尔积