📜  Django 迁移 | Python

📅  最后修改于: 2022-05-13 01:54:38.766000             🧑  作者: Mango

Django 迁移 | Python


先决条件:Django 模型

没有这样的表? –

product/models.py中定义的类只是我们的数据库将是什么样子的想法,但它没有在数据库中创建任何表。我们可以假设类电话作为概念模式。在创建任何表之前,如果我们在创建之前尝试访问该表,就会抛出这样的错误。

OperationalError at /admin/product/phone/
no such table: product_phone

makemigrations 命令 –

Python提供了某些命令以方便用户使用,因此无需深入了解 SQL 的细节,
用户可以与数据库交互。现在,我们已经创建了类(数据库的概念架构),我们可以使用 migrate 命令在数据库中创建实际的架构。如果正在运行,请使用 CTRL+C 停止服务器,然后在数据库中运行以下命令。

python manage.py makemigrations

上面的命令会让项目知道我们要在数据库中进行更改。您将看到以下引用Create model Phone
移民
这个命令有什么作用?如果我们希望在数据库中进行更改,此命令将生成应该执行的 SQL 语句。
如果您想查看生成的命令,请导航到product/migrations/0001_initial.py 。您将看到文件内容
首次迁移
如果您现在尝试使用命令运行服务器

python manage.py runserver

你会看见

如警告中所述,运行

python manage.py migrate

在您的终端中。这将导致在数据库中创建表。
首次迁移