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

     

    静态文件上传

  • 相关阅读:
    Inline Hook 钩子编写技巧
    FPS 游戏实现D3D透视 (API Hook)
    FPS 游戏实现GDI透视 (三角函数)
    X86驱动:恢复SSDT内核钩子
    X86驱动:挂接SSDT内核钩子
    VS2013+WDK8.1 驱动开发环境配置
    C/C++ 语言之反汇编揭秘:目录
    WinRAR 去广告的姿势
    C/C++ 实现反调试的手段
    springboot项目部署到独立tomcat的爬坑集锦
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/12237326.html
Copyright © 2011-2022 走看看