数据模型类:概念与说明

在前面的Django内容中,讲到了通过python manage.py startapp xxx,可以给一个Django项目创建一个新的应用。
而每个Django的应用中,都包含一个名为models.py的文件,该文件就是应用的数据模型类,它用于定义当前应用的数据结构;该文件可以为空,但是不建议删除。
一般情况下,开发一个应用,会从编写数据模型类开始。
而这个数据模型类与数据库中的数据表,具有对应关系。

在本文中,将详细的介绍Django中的models.py文件,也就是数据模型类。


为了方便理解,我画了一张图:

从上图的层级关系中可以看到:

  • Django项目中可能会有很多个Django应用,每个应用中都会包含models.py的数据模型类
  • 而所有的数据模型类,都继承自django.db.models.Model
  • 该继承关系在数据模型类(models.py)中,通过创建class的时候继承【django.db.models.Models】命令得以体现

数据模型类:1. 编写

在继续讲解之前,先看一段样例代码:models.py

根据前面的图理解:

  • 对应的数据库的表名:Posts
  • 该表包含四列,分别是:title / author / body / publish
  • 该表的数据排序方式:根据publish倒序
  • 返回给Django视图的字段是:title

数据模型类:2. 将应用注册到Django项目

如果没有将数据模型类所在的应用注册到Django中,那么在使用数据模型类生成SQL语句的时候,会提示:没有任何更改(No changes detected)

注册应用,在Django项目的配置文件settings.py中设置:

数据模型类:2. 生成SQL语句

可以看到,这时候,就生成了内容。

查看一下:0001_initial.py

用命令查看一下:

可以看到:

  • 创建的表名为:应用名_类名
  • 列名就是数据模型类中的具体的类的属性(变量)名称

数据模型类:3. 写入数据库

查看数据库:

执行写入:

再次查看数据库:

可以看到,确实按照数据模型类的定义,创建了一张数据表。


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装