Django 创建应用和定义数据表

1、Django 创建应用

  Django 项目是基于 Django 框架开发的 web 应用,包含了一组配置和多个应用,把应用称为app,auth和admin等都属于app

  输入python manage.py startapp 应用名 即可创建一个子应用

  

    admin.py  :用于将 Model 定义的数据表 注册到管理后台,是Django Admin 应用的配置文件

    apps.py:用于应用程序本身的属性配置

    model.py :用于定义应用中所需要的数据表

    tests.py :文件用于编写当前应用程序的单元测试

    views.py:用于定义视图处理函数的文件

    migrations 目标用于存储数据库迁移时生成的文件,该目录下的 __init__.py 文件标识migrations 是一个python 包

    __init__.py:标识该子应用是一个python 包

  在 setting.py 中 添加子应用

    

     

2、Django ORM

  ORM(Object Realtional Mapping)即对象关系映射, 是一种基于关系型数据库的程序技术。ORM 允许你使用类和对象对数据库进行操作,这大大提高了对数据库的控制,避免了直接使用 SQL 语句对数据库的操作

  模型类:本质上属于一个 Python 类,只不过在Django 中称之为模型类,它是由 django.db.models.Model 派生出的子类;可以理解为Django 中模型类就相当于 ORM 模型类

  定义数据表:类属性即为数据表的字段

   

   

每一个应用下的数据库模型类,需要在当前应用下的model.py 这个文件中定义数据库模型

定义规则如下:

  一个数据库模型类需要继承 Model 或者 Model 的子类

  默认会创建一个自动递增的 id 主键

  默认创建的数据库名为,应用名小写_数据库模型类小写

  一个数据库模型类相当于一个数据表(Table)

  定义的一个类属性,相当于数据库表中的一个字段

  max_length为字段的最大长度,unique 参数用于设置当前字段是否唯一,默认 unique= False

  verbose_name 用于设置自定义的字段名

  help_text 用于api 文档的一个中文名称

  null 设置数据库中此字段允许为空,blank 用于设置前段可以不用传递,default设置默认值

  

 

定义子类 Meta ,用于设置当前数据模型的元数据信息

  

 

创建外键,关联两个数据表

  在子表中调用 models.ForeignKey ()关联父表,如,一个项目中 有多个接口,则在接口表中关联父表,规则如下:

    第一个参数为关联的模型路径(应用名 . 模型类)或者模型类

    第二个参数 为当夫表删除之后,该字段的处理方式,on_delete = models.CASCADE

       CASCADE:子表也会被删除

       SET_NULL:当前外键值会被设置为 None

       PROJECTS:删除后,会报错

       SET_DEFAULT:设置默认值,同时需要指定默认值,null =True

    

 

posted @ 2023-08-08 16:39  哩子吖  阅读(126)  评论(0)    收藏  举报