📜  如何在 django 中添加新列 - Python (1)

📅  最后修改于: 2023-12-03 15:38:15.030000             🧑  作者: Mango

如何在 Django 中添加新列

在 Django 中,我们常需要往现有的数据表中添加新的列。本文将向你介绍如何在 Django 中添加新列。

准备工作

在开始添加新列之前,我们需要确保数据库迁移设置正确。可以通过以下命令检查一下:

python manage.py makemigrations --check

如果存在错误,在命令行中显示错误信息。否则仅显示“System check identified * issues (0 silenced).”一行提示。

添加新列

在 Django 中,添加新列需要经过以下三个步骤:

1. 编辑模型

首先,在你需要添加新列的数据模型文件中,例如 models.py,编辑你的模型。找到你想要添加新列的数据模型,并在对应字段下添加一个新的字段。例如,假设你的模型是这样的:

from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=50)

现在,我们想要添加一个新字段 age,可以这样写:

from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField()
2. 创建迁移文件

在完成模型编辑后,我们需要创建一个迁移文件来更新数据库。可以使用以下命令生成一个空的迁移文件:

python manage.py makemigrations

这将在应用程序中创建一个新的迁移文件。你可以通过打开 migrations 文件夹中的 xxxx_initial.py 文件查看它。

接着,我们需要把刚才编辑的模型告诉 Django 如何更新数据库。在迁移文件中,使用 AddField 类来添加新字段。例如:

from django.db import migrations, models

class Migration(migrations.Migration):

    dependencies = [
        ('myapp', '0001_initial'),
    ]

    operations = [
        migrations.AddField(
            model_name='mymodel',
            name='age',
            field=models.IntegerField(null=True),
        ),
    ]
3. 执行迁移

编辑迁移文件并保存后,我们可以使用以下命令将其迁移到数据库中:

python manage.py migrate

这将更新数据库并将新的字段 age 添加到 mymodel 表中。

现在,你就成功地在 Django 中添加了新列!如果你有关于 Django 数据迁移的更多问题,可以参考 官方文档