【Django】 python manage.py makemigrations & python manage.py migrate命令解答及不能新建表解决方法

这篇具有很好参考价值的文章主要介绍了【Django】 python manage.py makemigrations & python manage.py migrate命令解答及不能新建表解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、命令详解

1、作用于全局

python manage.py makemigrations 表示通知Django即将做什么,并做一个记录,实际上并没有做

python manage.py migrate  真正开始创建数据库

2、作用于app或文件

需要注意的是这两个命令默认情况下是作用于全局,也就是对所有最新更改的models或者

migrations下面的迁移文件进行对应的操作,如果要想仅仅对部分app进行作用的话 ,则执行如下命令:

python manage.py makemigrations appname

python manage.py migrate,Django,python,django,后端

通过makemigrations命令文件下多了一个001_initial的文件

python manage.py migrate,Django,python,django,后端

这个文件里面的内容表示我们创建了一个Project这个模型类,并且指出这个类的成员属性id、name等以及定义,在models.py创建模型类,其中一个模型类对应的是一张数据表,然而这条命令并未真正添加数据库表

python manage.py migrate,Django,python,django,后端

python manage.py migrate appname

python manage.py migrate,Django,python,django,后端

 此时在看数据库,project表已经在mysql中创建了

python manage.py migrate,Django,python,django,后端

如果要想精确到某一个迁移文件则可以使用:

python manage.py migrate appname 0001_initial (文件名)

 二、问题解答

由于之前生成过数据表,或者修改内容之后再次执行命令发现无法生成,例如:

python manage.py migrate,Django,python,django,后端

解决方法:

1、删除001_initial文件

2、删除django_migrations表中记录

由于Django自带的一个表django_migrations表中已经将之前生成的表添加进入了,比如

python manage.py migrate,Django,python,django,后端

3、重新执行上述两条命令

python manage.py makemigrations appname

python manage.py migrate appname

其他bug:

models.E028:::同一个表名在多个Model的db_table中使用

1、在 appname/models.py 文件中 meta 类设置managed=False

2、运行中会对managed=true的model进行检测,是否有多个model使用了同一个表名。

python manage.py migrate,Django,python,django,后端 

 文章来源地址https://www.toymoban.com/news/detail-766044.html

到了这里,关于【Django】 python manage.py makemigrations & python manage.py migrate命令解答及不能新建表解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【报错】django.db.migrations.exceptions.NodeNotFoundError:

    从别处下载的Django源码在搭建的过程中遇到的错误 django.db.migrations.exceptions.NodeNotFoundError: Migration users.0001_initial dependencies reference nonexistent parent node (‘auth’, ‘0012_alter_user_first_name_max_length’) 依赖项引用不存在的父节点; 我遇到的是因为少编译迁移了一个app,从而导致另个一

    2024年02月09日
    浏览(53)
  • Django笔记二十之手动编写migration文件

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十之手动编写migration文件 前面介绍过,migration 文件主要记录的是 Django 系统 model 的变化,然后通过 migrate 命令将变化适配到数据库中。 比如在某个 application 下新增了某张表,或者对某张表更改了字段,可以生成 migration

    2023年04月09日
    浏览(45)
  • FATAL Error: Unable to complete saved object migrations for the [.kibana_task_manager] index. Plea

    报错信息:         在启动Kibana时报了上述错误,在网上百度了好多帖子未找到答案。后来翻看了配置信息也没发现错误。想来想去是不是es启动时有问题呢?自己又重新启动了一下es,发现日志中竟然有错误,观看提示的英文错误,大致意思是磁盘占用率达到95%。删除了

    2024年02月12日
    浏览(58)
  • MAC修改python3命令为py

    alias py=“/usr/bin/python3”

    2024年02月10日
    浏览(41)
  • python多版本py命令及虚拟环境管理

    创建虚拟环境失败, 已经很久没有用python3这个命令,可能又被系统环境修改的时候弄乱了.花点时间整理下 Error: Command \\\'[‘E:codevenvScriptspython.exe’, ‘-Im’, ‘ensurepip’, ‘–upgrade’, ‘–default-pip’ returned non-zero exit status 1. 把从windows store 下载的python3.8版本给卸了, 从官网下载

    2023年04月20日
    浏览(48)
  • Python:执行py命令,提示: Can‘t find a default Python.

    今天,要运行一个前年用python编写的爬虫程序,先检测python运行环境是否正常: D:Python38-32worksc:windowspy.exe Can\\\'t find a default Python. 再试: D:Python38-32workspy --list Installed Pythons found by py Launcher for Windows No Installed Pythons Found! C:WINDOWSsystem32 assoc .py=Python.File C:WINDOWSsystem32ftype P

    2024年04月10日
    浏览(41)
  • [Python] 手把手教你解决cmd中py或者python命令不能被识别的问题

    \\\'py\\\' is not recognized as an internal or external command, operable program or batch file. 可能不少人会遇到整个问题?我重装电脑之后重下python时出事了,不知道为啥以前写的py用不了,python倒是可以,py不行,网上搜了doskey py = python,但是是临时的(不指标不治本),最后找出以下方法,遇到

    2024年02月03日
    浏览(40)
  • 解决在命令行中输入py有效,输入python无效,输入python会跳转到microsoft store的问题| Bug

    打开 运行,输入cmd,在命令行中输入 where python 。 这里的 lihua 就是你自己的账户名。 如果看到了这个 windows apps 路径,且在你的python安装路径之前,那你大概率就是这个问题了。 因为 windows apps 路径高于你的自定义安装路径,会直接走微软应用商店的路径要你在应用商店下

    2024年04月28日
    浏览(39)
  • Django笔记十九之manager用法介绍

    本文首发于微信公众号:Hunter后端 原文链接:Django笔记十九之manager用法介绍 首先介绍一下 manager 的使用场景,比如我们有一些表级别的,需要重复使用的功能,都可以使用 manager 来实现。 比如我们在前面的笔记中介绍的 model 的 create()、update() 等方法,Blog.objects.create() 中前

    2023年04月08日
    浏览(77)
  • windows解决python安装django架构没有django-admin命令

    目录 一.尝试安装与配置 1.直接pip命令安装 2.用pycharm测试 3.官网下包安装 二.解决 1.找到django安装的路径 2.配置系统变量 3.测试创建项目 3.1.执行访问页面 3.2.解决 3.3.继续测试 4.pycharm打开     新建项目测试    注:发现没有django这个框架选项,后面发现这个功能只有专业版才

    2024年02月06日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包