Django-South介绍

Django-south是一个一直挂在耳边,但是没有尝试过的django的插件。这次项目用到,刚好补充一下。

什么是Django-South?

South是方便Django应用进行数据库迁移/变动的这么个应用。它的宗旨是提供一个简单,稳定和数据库独立迁移层,以此来摒弃那些随着时间变化model的schema发生变化所带来的麻烦。

上面是官方大致翻译,通俗来讲,就是帮你把model中字段的变化,同步到数据库的表中。

为什么需要它?

写过Django项目的同学,必然会遇到这个问题:定义好model之后,开发业务功能,不断的测试,发现model要改,怎么办? python manage.py sqlall 出来新添加的model中的字段,然后参照着到数据库通过 alter 修改表。

这样的变更是个细心的工作,一不小心,你的字段名写错,或者类型写错,然后你上线了,网站挂了。

因此需要这么样的一个工具,来弥补Django只能在第一次创建表的不足。South会被加到Django之后的版本中: Schema Migrations for Django

如何使用Django-South?

一个好的程序使用起来必定是简单的,South和它的宗旨一样,使用简单。只需要简单几步,针对已经建好model和创建完表的应用。

  • 安装South到install_app中
  • 然后就是几个命令: # 第一次使用要执行前两条 python manage.py schemamigration <app> --initial python manage.py migrate <app> --fake python manage.py schemamigration <app> --auto python manage.py migrate <app>

当然,South的功能不止这些,有兴趣或者需要的还是老实去看官方文档。

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • django博客rss输出代码分享

    今天有朋友问到我博客的rss输出是怎么做的,直接用django文档上的步骤输出的rss不能直接被chrome解析。

    the5fire
  • Django是否太重了

    接触Django差不多两年了,从一开始转到python就开始用Django做项目,到现在依然是在Django上开发CMS。Django算是个重量级框架吗?我在思...

    the5fire
  • 无痛使用 Django+xAdmin+MongoDB

    前几天开始自己在做些日志的分析的小玩具,要分析手搜的用户访问情况,工具很简单,处理逻辑也很简单——从kafka拿nginx日志,然后处理完保存的数据库中,然后以...

    the5fire
  • 聊聊rocketmq的RollingFileAppender

    org/apache/rocketmq/logging/inner/LoggingBuilder.java

    codecraft
  • AI一分钟|百度Q4营收236亿元,同比增长29%;富士康今年或裁掉1万多名工人

    1. 百度第四季度营收236亿元,净利润同比增1% 北京时间2月14日早间消息,百度今天发布了2017财年第四季度和全年未经审计财报。报告显示,百度第四季度总营...

    AI科技大本营
  • 这个例子,妙!

    且不论真假,突然觉得倒是很合适用来作为 Hidden Markov Model (HMM) 的例子来讲的,因为和书上课上讲的例子,天气呀遛狗啊还是马克杯啊什么的...

    double
  • 小米生态链出品、对标谷歌AI相机,全方位解读摩象AI相机小默 | 测评

    镁客网
  • 关注乌镇干货!看朱光如何解析智能金融对实体经济的独特价值

    这几天世界互联网大会乌镇峰会上的饭局刷爆了朋友圈,网易丁磊的饭已成传统必选项目,今年又多了“东兴局”。但关注科技圈八卦的同时,更应关注乌镇会议上关于人工智能、共...

    罗超频道
  • Unity下Bug修复神器,腾讯InjectFix开源啦!

    ? Unity 下 Bug 修复神器 InjectFix 开源啦! InjectFix 使用简单,小巧,合规且安全,经过多个项目应用反馈十分良好,即使你不打算...

    腾讯开源
  • 互联网运营增长的十个经典模型(2019年版)

    报名中:数据化营销与运营大课堂【2019年5月25日、26日上海,宋星大课堂】,点击查看详情。

    iCDO互联网数据官

扫码关注云+社区

领取腾讯云代金券