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

yipeiwu_com7年前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按比例随机切分数据的实现

在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分。比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集。其中训练集是用于训练,而测试集用于已训练模型上跑出...

Python wxPython库使用wx.ListBox创建列表框示例

Python wxPython库使用wx.ListBox创建列表框示例

本文实例讲述了Python wxPython库使用wx.ListBox创建列表框。分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制。选项被放置在一...

使用django的ORM框架按月统计近一年内的数据方法

如下所示: # 计算时间 time = datetime.datetime.now() - relativedelta(years=1) # 获取近一年数据 one_year_dat...

Python中模拟enum枚举类型的5种方法分享

以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码 代码如下: # way1 class Directions:     up = 0  ...

Django REST framework 如何实现内置访问频率控制

对匿名用户采用 IP 控制访问频率,对登录用户采用 用户名 控制访问频率。 from rest_framework.throttling import SimpleRateThrot...