Django:更新数据库架构而不丢失数据

2023-11-26

如果我想升级(更改)我的数据库架构(通过将新字段添加到 Django 模型中来将新字段添加到表中)而不丢失这些表中的数据,最好的解决方案是什么? “syncdb”当然不会添加它们,所以我需要您的建议如何更改表而不删除它们并使用syncdb再次重新创建。


当南不是一个选项时,我只是手动编写脚本进行小的更改。和我用的大的

./manage.py dumpdata appname

http://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model

将其放入文件中。运行正则表达式替换以更新任何添加/删除的字段,然后可以重置该应用程序。我必须承认我有一段时间没有这样做了,但如果需要的话,我可以获取一些特定的代码来为您执行此操作。

它加载备份loaddata

edit

Django 转储单个模型的数据?这个问题是类似的,可能有我正在谈论的信息。

如果您需要,请仍然告诉我,我会为您挖掘我的旧脚本(或写出一个很好的简单脚本)。

UPDATE

./manage.py dumpdata appname --indent=4 > appname.json

#open your fav text editor and do a find/replace 

./manage.py reset appname
./manage.py loaddata appname.json

应该可以做到这一点。当您执行查找替换时,您只需要删除不再有的字段并添加不可为空的字段。 (至少)。

Notes:--indent=4 可以很好地为您格式化所有内容。意思是4个空格。 ./manage.py 重置仅适用于 django 1.3 之前的版本(啊!),在 django 1.3 中你必须执行./manage dbshell and drop table。从命令中找到该sql./manage.py sqlreset appname.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:更新数据库架构而不丢失数据 的相关文章

  • 类型错误:“WindowsPath”类型的参数不可迭代 - 在 django python 中[重复]

    这个问题在这里已经有答案了 每当我运行服务器或在终端中执行任何命令时 此错误都会显示在终端中 服务器正在运行并且网页工作正常 但是当我退出服务器或运行任何命令 如 python manage py migrate 时 会显示此错误 Watc
  • Django 迁移 - 禁用系统检查

    我从 Django 1 7 升级到 Django 1 9 我有多次迁移 自从升级以来 我无法再创建新的数据库 问题是 django manage py migrate 运行检查 检查导入应用程序 URL 这些最终导入查找数据库的代码 我可以
  • 如何在旧数据库中的 Django 中进行 INNER JOIN ?

    抱歉 我的问题可能很简单 但我是 Django 的新手 真的很困惑 我有一个丑陋的旧表 我无法更改 它有 2 个表 class Salespersons models Model id models IntegerField unique
  • 将文件上传到S3的模拟测试用例

    我们如何模拟文件上传到 S3 我尝试过这样的事情 file mock mock MagicMock spec File name FileMock mock patch storages backends s3boto S3BotoStor
  • manage.pysyncdb 不会为某些模型添加表

    今天我的第二个不太熟练的问题 我有一个 django 项目 其中安装了四个应用程序 当我运行manage py syndb时 它只为其中两个创建表 据我所知 我的任何模型文件都没有问题 并且所有应用程序都在我的设置文件中的 INSTALLE
  • 如何将两个django模型(表)合并为一个模型(表)

    我想合并两个 django 模型并创建单个模型 我们假设 我有第一个表表 A 其中包含一些列和数据 Table A col1 col2 col3 col4 x1 x2 x3 x4 y1 y2 y3 y4 我还有另一个表 Table B 其中
  • 自定义 django-rest-framework-simplejwt 的 JWT 响应

    我正在设置 Django 来发送 JWT 响应而不是视图 我尝试使用 django rest framework simplejwt 这个框架中提供了一个函数TokenObtainPairView as view 返回一对 jwt 我需要使
  • 在 django 中为现有数据库表创建模型

    我的数据库中有一个旧表 我想在 Django 应用程序中创建一个模型 创建模型后 我使用 migrate 命令 然后它创建了一个具有自己名称的新表 Django 提供了一个实用程序 可以通过检查数据库命令从现有数据库自动生成模型 您可以通过
  • Django Rest Framework 分页设置 - 内容范围

    6 30 15 我怎样才能让这个问题变得更好并且对其他人更有帮助 反馈会有帮助 谢谢 我使用 DRF 作为 Dojo Dgrid Web 应用程序的服务器端 Dojo 需要来自服务器的内容范围或范围响应 目前它不发送任何内容 因此 dgri
  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • 嵌套字段序列化器 - 数据丢失

    与此主题相关 https stackoverflow com questions 27434593 django rest framework 3 0 create or update in nested serializer 你好 我无法
  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • 如何使用JQuery和Django(ajax + HttpResponse)?

    假设我有一个 AJAX 函数 function callpage ajax method get url abc data x 3 beforeSend function success function html IF HTTPRESPO
  • Django:在单独的线程中使用相同的测试数据库

    我正在使用具有以下数据库设置的测试数据库运行 pytests DATABASES default ENGINE django db backends postgresql psycopg2 NAME postgres USER someth
  • 使用 nginx 在云上部署 django 和 React

    我有一个 digitalocean 服务器 并且已经使用 Gunicorn 和 nginx 部署了 Django 后端服务器 如何在同一台服务器上部署 React 应用程序 您可以构建 React 应用程序并使用 Nginx 提供其静态文件
  • 在 django admin 中自定义选择

    我有一个模型 其中一个字段是外键 所以我在 django admin 中看到选择 是否可以自定义此选择的标签 class Model models Model name models CharField def unicode self r
  • 在 Django 中定期运行一个函数

    我在 Django 中编写一个应用程序来监视一组服务器中的某些服务 我希望定期更新观点 到目前为止 我已经研究过编写自定义管理命令 链接在这里 http docs djangoproject com en dev howto custom
  • Django admin - 更改权限列表

    是否可以更改用户编辑页面中的权限列表 我不想显示所有权限 例如管理日志条目或身份验证组等 如何修改主查询集以排除其中的某些查询集 我的想法来自这个话题 https groups google com forum topic django u
  • Nginx 与 Daphne 给出 502 Bad Gateway

    由于 Django Channels 和 uwsgi 出现问题 我决定用 daphne 替换 uwsgi 关注后this http masnun rocks 2016 11 02 deploying django channels usin
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from

随机推荐

  • Android 中的 OpenCV 模板匹配示例

    我是 OpenCV 的初学者 我正在尝试制作一个示例 Android 应用程序 以使用 OpenCV 模板匹配来匹配给定图像中的模板图像 我在互联网上搜索 找不到合适的 android 或 java 代码来满足我的要求 但我有 C 代码 我
  • SQLite Android 无法打开数据库文件

    编辑 我在手机上尝试过 它可以工作 有人能告诉我为什么它不能在模拟器上工作吗 我正在尝试在 Android 上打开数据库 但它抛出 无法打开数据库文件 异常 在调试器中 似乎错误发生在线路上mDb mDbHelper getWritable
  • Gradle 项目刷新失败:已完成

    背景 此时我已经与 Studio Gradle 斗争了一天左右 最初存在多个 PEBKAC 错误 即权限和资源限制 但后来已得到解决 不幸的是 google fu 因当前错误而使我失败 尝试完成时特别发生错误 gradlew clean没有
  • 如何使用 Xuggler 获取音频进行编码

    我正在编写一个记录屏幕和音频的应用程序 虽然屏幕录制工作完美 但我在使用 JDK 库获取原始音频时遇到困难 这是代码 try Now we re going to loop long startTime System nanoTime Sy
  • NSAttributedString 在 iOS 8 下性能更差

    在 iOS 8 和 8 1 beta 下 创建 NSAttributedString 的性能比 7 差很多 2 3 倍 如果您在同一个视图上使用多个实例 这一点尤其明显 加载 4 个不同的标签将导致用户点击和新视图出现后一秒以 上的延迟 不
  • 带有 Phonegap Build 和 PushPlugin 的 Android 白色通知图标

    我正在使用 Adob e 的 Build 服务摆弄 Phonegap 我想知道是否 如果是 如何 我可以让我的通知显示一个白色图标 如 Google 所描述的 here 我正在使用推送插件但我找不到任何关于此的文档 目前 我的应用程序仅在通
  • Flask Jinja2 - 解析 JSON

    我尝试在 Jinja2 HTML 模板中显示一些 JSON 结果 但它返回一个空页面 或者新行上 JSON 的每个字符 或者每个带有空格的字符 我发送到 Jinja2 模板的对象如下所示 name John lastname Smith a
  • TortoiseSVN 图标在 Windows 7 下不显示

    我似乎无法在 Windows 7 下显示图标 我真的很怀念 Windows XP 中的这一点 如何解决 Windows 只能显示有限数量的覆盖图标 总共 15 个 在 Windows 使用之后有 11 个 类似的程序办公室凹槽 Dropbo
  • 在 PhoneGap 插件中保留回调上下文?

    我需要实现一些在一定时间间隔内触发操作并将结果发送回 JavaScript 的功能 为了简化事情 我将使用 PhoneGap 文档中的 echo 示例 void echo CDVInvokedUrlCommand command self
  • 为什么我无法在程序中声明字符串:“字符串是未声明的标识符”

    我无法在程序中声明字符串 string MessageBoxText CharNameTextBox gt Text 它就是行不通 它说string is undeclared identifier 我在命名空间或包含或类似的东西中缺少什么
  • 为什么将 try {} finally {} 与空的 try 块一起使用?

    我注意到在System Threading TimerBase Dispose 该方法有一个try finally 阻止但try 是空的 有没有使用价值try finally 与一个空的try ReliabilityContract Con
  • 如何在 Android 中从视频 URL 捕获/录制剪辑并保存到手机

    在 Android 中 是否可以从视频 URL 例如 视频中的任意 5 10 秒 录制短片 例如 视频中的任意 5 10 秒 http www test com video mp4 例如 我想在 Activity 中流式传输视频 来自 ur
  • 无法在 nginx-ingress 上添加具有同一主机的多个 Ingress

    我正在尝试添加多个应共享同一主机的入口 一个 Ingress 应该处理对 www example de some 的请求 另一个 Ingress 应该处理所有其他请求 这是 Ingress 配置的片段 apiVersion extensio
  • Laravel - artisan down /维护模式除了自己的IP

    目前我正在使用 Laravel5 我的问题是如果我使用维护模式 php artisan down 怎么能说 除了我自己的 IP 之外 每个人的应用程序都已关闭 所以每个人都看到维护模式 但我仍然可以访问该网站 现在你可以使用php arti
  • 在文本区域内显示div

    我希望在文本区域中显示 html 是否可以显示一个 div a 内包含表单元素 div
  • 具有链式方法的 Java 方法调用顺序

    给出的是以下 Java 代码示例 builder something somethingElse somethingMore builder getSomething Java 语言规范是否保证getSomething 被调用after t
  • 如何获得句子文本中二元组的概率?

    我有一篇文章 其中有很多句子 我该如何使用nltk ngrams来处理它 这是我的代码 sequence nltk tokenize word tokenize raw bigram ngrams sequence 2 freq dist
  • “ng-reflect-*”属性在 Angular2/4 中起什么作用?

    这里我在 Angular4 应用程序中有一个复杂的数据结构 它是一个有向多重图 在节点和链接上都用字典进行参数化 我的角度组件正在研究这个复杂的数据模型 在 Angular2 4 中 一切正常 自从我们切换到 Angular4 后 我将其添
  • 如何优化 llvm 链接时间

    我编译一个 C 程序 例如使用以下代码 clang O4 emit llvm file1 cpp c o file1 bc clang O4 emit llvm file2 cpp c o file2 bc llvm link file1
  • Django:更新数据库架构而不丢失数据

    如果我想升级 更改 我的数据库架构 通过将新字段添加到 Django 模型中来将新字段添加到表中 而不丢失这些表中的数据 最好的解决方案是什么 syncdb 当然不会添加它们 所以我需要您的建议如何更改表而不删除它们并使用syncdb再次重