zoukankan      html  css  js  c++  java
  • 05.django升级打怪学习记

    迁移文件

    *分两步实现

    ——生成迁移文件

    ——执行迁移文件

    *迁移文件的生成

    ——根据models文件生成对应的迁移文件

    ——根据modules和已迁移文件差别 生成新的迁移文件

    *执行迁移文件

    ——先去迁移记录查找,哪些文件未迁移过

    *app_label + 迁移文件名字

    ——执行未迁移的文件

    ——执行完毕,记录执行过程的迁移文件

    ——重新迁移

    *删除迁移文件

    *删除迁移文件产生的表

    *删除迁移记录

     

     

     模型关系:

    1:1

     

    a.应用场景

    b.实现:

    ——使用外键实现的

    ——对外键添加了唯一约束

     

     

    1对1重点

     

    pythom manage.py --help

    指定在哪个目录中生成

     

    指定某个生成迁移文件生成

    python manage.py makemigrations --help

     

    模型关系

    1:1

    应用场景:用于复杂表的拆分;扩展新功能

    Django中OneToOneFiled:使用的使用,关系声明还有细微差别

    实现:使用外键实现的,对外键添加了唯一约束

    数据删除:级联表,主表/从表,谁声明关系谁就是从表;在开发中如何确认主从;当系统遭遇不可避免毁灭,只能保留一张表,这个表就是你的主表。

    默认特性:

    从表数据删除,主表不受影响

    主表数据删除,从表数据直接删除

    PROTECT保护模式:

    *开发中为了防止误操作,我们通常会设置为此模式

    *主表如果存在级联数据,删除动作受保护,不能成功

    *如果主表不存在级联数据,可以删除成功

     

     

    SET

    *SET_NULL:允许NULL

    *SE_DEFUALT:存在默认值

    *SET:指定值

    级联数据获取:主获取隐性属性默认就是级联模型的名字;从获取主,就是属性的名字

     

    1:M

    *ForeignKey

    *主从获取:主获取从隐性属性,级联模型_set(student_set Manager的子类)

    *all

    *filter

    *exclude

    *Manager上能使用的函数都能使用

    *从获取主:显性属性

     

    M:N

    *实际上最复杂

    *开发中很少直接使用多对多属性

    *产生表的时候会产生单独的关系表

    ——关系表中存储级联表的主键,通过多个外键实现的

    ——多个外键值不能同时相等。

     

    在企业钟开发中:

    sql->model

    a.django也提供了很好的支持

    b.python manage.py inspectdb

    ——可以直接根据表生成模型

    ——元信息中包含一个属性manage=False

    c.如果自己的模型不想被迁移系统管理,也可以使用manage=False进行声明。

    -------------------------------------------------------------

    静态文件

     

     

    逆向使用数据库生成模型

    python manage.py inspectdb

    python manage.py inspectdb > App/models.py

     

    静态文件上传

  • 相关阅读:
    学习Python用来爬虫
    C# 校验帮助类-正则表达式
    关于网站使用异步请求以后浏览器源码查看不到数据导致百度抓取不到的问题解决方案
    Linq学习教程
    【jQuery】选择器
    【jQuery】初始化的三种方法
    【ueditor】api方法
    同步(Synchronous)和异步(Asynchronous)
    【postman】postman
    【mysql函数】FIND_IN_SET函数用法
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/12237326.html
Copyright © 2011-2022 走看看