负责数据库控制的文件
应用夹下,models .py
如何定义一个模型类
格式:
class 类名(models.Model):
字段名=字段类型
如何进入django的shell
如何导入和使用models模块
》导入方式一,导入模块。通过模块.模型类名()实例化得到对象
》导入方式,直接导入模型类,通过模型类()实例化得到对象
增-通过模型类如何插入一行数据
》利用行对象操作
行对象.字段名 = 值
查-如何搜索一条数据
模型类名.objects.get(字段=值)
改-如何修改一条数据
首先拿到数据行对象
数据行对象.字段 = 值
删-如何删除一个行对象
得到行对象
行对象.delete()
删除前
删除操作
删除后
如何定义一个外键字段
在模型类中
定义一个类属性
类属性 = models.ForeignKey(“关联类名”, models.CASCADE)
两张表关联,一对多关系,外键字段设在哪张表中
设在多的一方表中
例如
学生表与班级表
多个学生,对应一个班级
所以
学生表属于多方表
班级表属于单方表
如果要绑定学生与班级的对应关系
应该在多的一方建外键字段,即学生表建立外键字段
通过多方,查找单方,正向查找
》通过一个英雄人物,查找和它对应的图书信息
1,得到一个英雄人物
2,通过英雄人物查询它关联的图书
因为英雄表对于图书而言,属于多的一方
所以英雄表有外键字段
利用外键字段可以正向查找到它所对应的图书信息
l对应的图书行信息 = 英雄行对象.外键字段
通过单方查找多方,反向查找
比如,现在得到了一个图书对象。要查找图书对应的全部英雄。
1,先得到图书对象。
图书表中有的数据
得到第一行,图书行对象
2,查找和这个图书相关联的英雄信息
反向查找,格式
关联的英雄行对象列表 = 图书行对象.英雄模型类名称_set.all()
备注,英雄模型类名称要全部小写
当前获得的hero_line_list是一个列表
列表中的每一个成员,都是与图书对应的英雄数据行对象
也就意味着,每一个列表的成员,都具备 英雄行对象的属性
》试一试,遍历这个列表,打印输出每一个英雄行对象的信息