Python Django 迁移

Python Django 迁移

没有这样的表?-

product/models.py中定义的类仅仅是我们的数据库的概念,但它并没有在数据库中创建任何表。我们可以认为类Phone是概念性的模式。在创建任何表之前,如果我们试图访问创建前的表,它将抛出这样的错误。

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

makemigrations命令 –

为了方便用户,Python提供了某些命令,这样就不用去研究SQL的细节了。
用户可以与数据库进行交互。现在,我们已经创建了类(数据库的概念模式),我们可以使用migrate命令在数据库中创建实际模式。如果服务器正在运行,使用CTRL+C停止服务器,并在数据库中运行以下命令。

python manage.py makemigrations

上面的命令将让项目知道我们要对数据库进行修改。你会看到下面的引用:创建模型Phone。

Django 迁移 Python

这个命令是做什么的?这个命令将生成SQL语句,如果我们想在数据库中进行修改,这些语句应该被执行。
如果你想看到生成的命令,请导航到 product/migrations/0001_initial.py 。你会看到文件内容

Django 迁移 Python
如果你现在尝试使用命令来运行服务器

python manage.py runserver

你会看到

你有1个未应用的迁移。在你应用app(s): product的迁移之前,你的项目可能无法正常工作。运行 “python manage.py migrate “来应用它们。

正如警告中写的那样,运行

python manage.py migrate

在你的终端中。这将导致在数据库中创建表。
Django 迁移 Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Django 教程