Django 模型

Django 模型是数据库中的一个表。


SQLite 数据库

当我们创建 Django 项目时,我们得到了一个空的 SQLite 数据库。 它是在 myworld 根文件夹中创建的。

我们将在本教程中使用这个数据库。


创建表(模型)

要创建一个新表,我们必须创建一个新模型。

/members/ 文件夹中,打开 models.py 文件。 默认几乎是空的,只有一个import语句和一个注释:

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>

Django 创建一个包含任何新更改的文件并将该文件存储在 /migrations/ 文件夹中。

下次运行 py manage.py migrate 时,Django 将根据迁移文件夹中新文件的内容创建并执行一条 SQL 语句。

运行迁移命令:

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>

从模型创建的 SQL 语句是:

CREATE TABLE "members_members" (
"id" INT NOT NULL PRIMARY KEY AUTOINCREMENT,
"firstname" varchar(255) NOT NULL,
"lastname" varchar(255) NOT NULL);

现在您的数据库中有一个 Members 表!