解决Django数据库makemigrations有变化但是migrate时未变动问题

yipeiwu_com6年前Python基础

写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法:

首先删除每个app中的migrations中的除了init.py的文件,在数据库中清空所有的表,然后执行migrate,这时会自动生成系统默认的那些表,然后执行makemigrations,再执行migrate

如果只是众多应用中的一个出了问题的话,删除与之相关的表,然后进入django_migrations表中,将相应的app那项记录删除,然后再执行

makemigrations appname 
migrate

django_migrations表的作用:

在执行makemigrations后,会在app的migrations目录生成一个带有编号的py文件,这就是记录的数据库的变动和操作,当执行migrate后,django_migrations就会将上面生成的py文件记录下来,类似一个日志记录

初始的(只有自带的app时)表:

django_migrations中的初始内容如下:

以上这篇解决Django数据库makemigrations有变化但是migrate时未变动问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中reload(module)的用法示例详解

前言 本文主要给大家介绍了关于python中reload(module)用法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1、Python2中可以和Pyt...

python实现朴素贝叶斯算法

本代码实现了朴素贝叶斯分类器(假设了条件独立的版本),常用于垃圾邮件分类,进行了拉普拉斯平滑。 关于朴素贝叶斯算法原理可以参考博客中原理部分的博文。 #!/usr/bin/pytho...

详解Python中的文本处理

字符串 -- 不可改变的序列 如同大多数高级编程语言一样,变长字符串是 Python 中的基本类型。Python 在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Pyth...

详解python中list的使用

详解python中list的使用

1、list(列表)是一种有序的集合,可以随时添加、修改、删除其中的元素。 举例:listClassName = ['Jack','Tom','Mark'] 列表可以根据索引获取元素,如...

Python实现的多线程端口扫描工具分享

Python实现的多线程端口扫描工具分享

昨晚今晚写了两晚,总算把Py Port Scanner 写完了,姑且称之为0.1版本,算是一个Python多线程端口扫描工具。 水平有限,实话中间有一些困惑和不解的地方,代码可能也写的比...