当前位置: 首页 > 网络应用技术

如何更新数据库Django

时间:2023-03-08 19:39:30 网络应用技术

  简介:许多朋友询问了Django如何更新数据库。本文的首席执行官注释将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  本文目录清单:

  1.如何在django1.8之后重建数据库。转身。LEARNdjango,某些方法不用于逻辑,直接修改模型更新到数据库:执行以下命令到python manage.py makemigrations makemapp myapp python manage.py magrate

  第1步:

  在您的django项目目录中修改settings.py文件,如下所示:

  其中,“ db_name'对应于'name'

  命令行提示符创建的数据库名称:注意:在Django使用数据库之前,您必须创建数据库,否则将报告错误。

  还有与“密码”相对应的“ passwd”

  这是您在MySQL中创建的用户名和密码。如果您有多个,只需随便填写一个。“ host”和“ port”默认情况下不能填写。

  出色:使用用户名和密码登录到mySQL方法:

  首先,您需要输入MySQL/bin目录,也可以在.bash_profile中设置环境变量:

  路径=/usr/local/bin:/usr/bin:/bin:/sbin:/sbin:/usr/sbin:/usr/usr/local/sbin:/usr/local/mysql/5.6.22/bin/

  在提示中输入MySQL -U用户名-P,然后在返回后输入PassWD。

  第2步:

  然后使用Python Manage.py SynCDB在Manage.py路径中尝试。结果将表明您找不到MySQLDB模块。为什么,因为python manage.py syncdb命令正常工作:

  1.查找可能需要在项目目录中的stentaim_apps Metal of Attectings.py中续订的应用程序。

  2.在每个应用程序目录中找到Models.py(关系定义文件),并更新数据库中的更改。

  说了很多话,模块mysqldb在上一个错误中意味着什么?

  首先给图片,然后解释:

  因为Python用于定义模型中的关系。当然,必须在数据库中使用它来形成SQL语句,因此必须有一些功能模块。

  来将Python语句转换为SQL语句。如果您使用SQLITE,因为SQLITE和转换模块已由Python构建,直接使用直接使用不会是错误的

  错误。但是“ MySQL语句转换模块”需要您手动加载,这些模块放在MySQL-Python中。

  我用pip安装了它:

  安装后,请使用Python Manage.py SynCDB为正常。

  我使用的系统是OS X,以下是MySQL默认安装路径

  /USR/local/cellar/mysql/5.6.22/

  如果您想知道数据库文件的放置位置,则可以在MySQL_Config文件中检查LDATA变量。该变量的值是默认数据库文件夹存储路径。在我的系统中,mysql_config的完整路径是:

  /USR/local/cellar/mysql/5.6.22/bin/mysql_config

  Django教程-01安装和使用

  在上面的文章中,引入了安装Django的方法。让我们谈谈在此处连接数据库。

  本文主要介绍坑和解决方案

  正常连接和初始化数据库的命令是

  执行此命令时,出现以下错误

  在调查一部分之后,当我配置数据库时,我设置了一层默认值并将其修改如下。

  然后,当您继续执行迁移时,您将报告以下错误

  该机器的环境是Mac计算机。在官方教程上操作时,发现使用MySQLClient安装的Python软件包将取决于MySQL或MySQL-CLIENT的安装,但是当我安装MySQL和MySQL-CLIENT时,我发现了解决方案。后来发现在settings.py文件中,添加了以下代码,即可以连接pymsql。

  或者可以在settings.py中添加代码__init__.py

  然后执行python manage.py迁移命令,以发现该表是成功创建的。新表不影响原始库的其他表。

  如果使用django1.7或更多,则您自己的迁移功能,您可以打开0001_Initial.py(此类文件,您需要与相应的应用程序相关联,即在模型位于folder的路径下迁移),然后修改模型中的相应类模型(),然后找到此操作= [

  migrations.CreateModel(...),

  #特定于mysql

  migrations.runsql('Alter Table表名称auto_increment = 9995'),#数据库是不同的,语句可能不同

  这是给予的

  实际上,可以通过修改数据库中的表来操作这一点。此速度更快。您自己查看更多信息。

  结论:以上是首席CTO注释为每个人编写的Django的所有内容。