Django 模型(Model)
Django 模型是数据库中的一个表。
SQLite 数据库
当我们创建 Django 项目时,我们得到了一个空的 SQLite 数据库。它是在 myworld
根文件夹中创建的。
我们将在本教程中使用这个数据库。
创建表 (Model)
要创建一个新表,我们必须创建一个新模型。
在 /members/
文件夹中,打开 models.py
文件。默认情况下,它几乎为空,只有一条导入语句和一条注释:
members/models.py:
from django.db import models
# Create your models here.
要在数据库中添加 Members 表,首先创建一个 Members 类,并描述其中的表字段:
members/models.py:
from django.db import models
class Members(models.Model):
firstname = models.CharField(max_length=255)
lastname = models.CharField(max_length=255)
第一个字段 "firstname" 是一个文本字段,将包含成员的名字。
第二个字段 "lastname" 也是一个文本字段,包含成员的姓氏。
"firstname" 和 "lastname" 都设置为最多 255 个字符。
然后导航到 /myworld/
文件夹并运行此命令:
py manage.py makemigrations members
输出结果如下:
Migrations for 'members':
members\migrations\0001_initial.py
- Create model Members
(myproject) C:\Users\Your Name\myproject\myworld>
members\migrations\0001_initial.py
- Create model Members
(myproject) C:\Users\Your Name\myproject\myworld>
Django 创建一个包含任何新更改的文件,并将该文件存储在 /migrations/
文件夹中。
下次运行 py manage.py migrate
时,Django 将根据 migrations 文件夹中新文件的内容创建并执行一条SQL语句。
运行 migrate 命令:
py manage.py migrate
结果如下:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, members, sessions
Running migrations:
Applying members.0001_initial… OK
(myproject) C:\Users\Your Name\myproject\myworld>
Apply all migrations: admin, auth, contenttypes, members, sessions
Running migrations:
Applying members.0001_initial… OK
(myproject) C:\Users\Your Name\myproject\myworld>
根据模型创建的 SQL 语句是:
CREATE TABLE "members_members" (
"id" INT NOT NULL PRIMARY KEY AUTOINCREMENT,
"firstname" varchar(255) NOT NULL,
"lastname" varchar(255) NOT NULL);
现在数据库中有了一个 Member 表!