codecamp

Django4.0 迁移-向应用添加迁移

新的应用已预先配置为接受迁移,因此你可以在进行一些更改后通过运行 ​makemigrations ​添加迁移。

如果你的应用已经具有模型和数据库表,并且还没有迁移(例如,你是在先前的 Django 版本中创建的),则需要通过运行以下命令将其转换为使用迁移:

$ python manage.py makemigrations your_app_label

这将为你的应用程序进行新的初始迁移。现在,运行 ​python manage.py migrate --fake-initial​,Django 将检测到你有一个初始迁移 并且 它要创建的表已经存在,而将迁移标记为已应用。(如果没有 ​migrate --fake-initial​ 标志,该命令将出错,因为它要创建的表已经存在。)

请注意,这只适用于以下两种情况:

  • 自从你建立了表之后,你就没有改变过你的模型。要使迁移生效,你必须 首先 进行初始迁移,然后再进行更改,因为 Django 将变更与迁移文件(而不是数据库)进行比较。
  • 你尚未手动编辑数据库——Django 无法检测到你的数据库与你的模型不匹配,当迁移尝试修改这些表时,你只会得到错误。


Django4.0 迁移-迁移文件
Django4.0 迁移-撤销迁移
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Django4.0 模型和数据库

Django4.0 处理HTTP请求

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }