做视频有收益的网站,成都网站优化公司哪家好,有没有做课题很好的网站,优秀的电子商务网站一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修改数据的逻辑分析 1. 先确定修改哪条记录------怎么样确定修改哪条记录? 2. 通过什么字段可以确定唯一一条记录? 主键id要携带主键id到后端. 3. 在后端接收主键id值然后根据这个id值再去表中查询数据查询一条 4. 然后把查询的数据在渲染到页面中然后在修改 5. 把修改之后的表单提交到后端在做修改 1.3 删除功能的分析 1. 给删除按钮加一个链接携带当前记录的id值 2. 后端要接收这个主键id值 3. 后端直接执行删除操作 二、如何创建表关系一对一一对多多对多 一对一 一对多 多对多 我们以图书表、出版社表、作者表、作者详情表为例创建 # 判断表关系换位思考法 分析表关系 图书表和出版社表是一对多的关系 外键如何创建外键字段建在多的一方 图书表和作者表是多对多的关系 外键如何创建外键字段建在第三张表中 创建多对多的方式有3种方式先将一种 作者表和作者详情是一对一的关系 外键如何创建外键字段建在查询频率较高的一方 # 创建表关系字段先创建表的基础字段先创建没有的外键的最后在写外键字段 class Book(models.Model): title models.CharField(max_length64) max_digitsNone, 总共多少位 decimal_placesNone 小数占几位 # price decimal(8,2) price models.DecimalField(max_digits8, decimal_places2) # publish_id models.ForeignKey(toPublish, to_fieldid) # 创建外键的 如果你的字段是主键字段那么你就不用在字段的后面拼接_id了它会自定的拼接_id publish models.ForeignKey(toPublish) # 创建外键的 默认就是跟表的主键字段建立关系 authors:它是一个虚拟字段意思是在book表中不会实际创建出来这个字段它能够创建出来第三张表(自动) authors models.ManyToManyField(toAuthor, ) class Publish(models.Model): title models.CharField(max_length64) addr models.CharField(max_length64) class Author(models.Model): name models.CharField(max_length64) author_detail models.OneToOneField(toAuthorDetail) 注意 1.django1版本 on_delete当删除关联表中的数据时当前表与其关联的行的行为。 models.CASCADE删除关联数据与之关联也删除 models.DO_NOTHING删除关联数据引发错误IntegrityError models.PROTECT删除关联数据引发错误ProtectedError models.SET_NULL删除关联数据与之关联的值设置为null前提FK字段需要设置为可空 models.SET_DEFAULT删除关联数据与之关联的值设置为默认值前提FK字段需要设置默认值 models.SET 删除关联数据 a. 与之关联的值设置为指定值设置models.SET(值) b. 与之关联的值设置为可执行对象的返回值设置models.SET(可执行对象) 2. django2 class Book(models.Model): title models.CharField(max_length64) max_digitsNone, 总共多少位 decimal_placesNone 小数占几位 # price decimal(8,2) price models.DecimalField(max_digits8, decimal_places2) # publish_id models.ForeignKey(toPublish, to_fieldid) # 创建外键的 如果你的字段是主键字段那么你就不用在字段的后面拼接_id了它会自定的拼接_id publish models.ForeignKey(toPublish, on_deletemodels.CASCADE) # 创建外键的 默认就是跟表的主键字段建立关系 authors:它是一个虚拟字段意思是在book表中不会实际创建出来这个字段它能够创建出来第三张表(自动) authors models.ManyToManyField(toAuthor, ) class Publish(models.Model): title models.CharField(max_length64) addr models.CharField(max_length64) class Author(models.Model): name models.CharField(max_length64) author_detail models.OneToOneField(toAuthorDetail,on_deletemodels.CASCADE) class AuthorDetail(models.Model): phone models.CharField(max_length64) qq models.CharField(max_length64) 三、 Django的请求生命周期流程图