South——谁说Django不能migrate!】的更多相关文章

零.前言 最近改一个项目,需要对已有的model进行更改.大家都知道Django自带的syncdb只能创建数据库,但是无法将已经改变的model应用的数据库中. 大概两年前遇到这个问题的时候,网上的答案基本上都是自己手动进数据库修改.不过这次一搜,居然发现一个神器——South. 一.快速上手 South是什么东西呢,简单说就是实现migration的一个插件.用过Rails的人应该知道Rails自带migrate功能,非常好用,可以在不影响数据库中已有数据的情况下修改model.South就是…
django 做 migrate 时 表已存在的处理方法 文章来源:嗨学网 http://www.piaodoo.com 在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来.这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误: django.db.utils.OperationalError: (1050, "Table 'xxx' already exists") 要处…
Web 开发避免不了经常修改表结构,手工修改表结构不仅容易出错,而且涉及到多人协作开发时,这么土的做法很不经济. Django 的第三方 app South 就是专门做数据库表结构自动迁移的.Jacob Kaplan-Moss 曾做过一次调查,South 名列最受欢迎的第三方 app.事实上,它现在已经俨然成为 Django 事实上的数据库表迁移标准,很多第三方 app 都会带 South migrations 脚本. South 最常用的功能要用起来也非常轻松. 安装配置 安装: pip in…
URL:http://my.oschina.net/u/862582/blog/355421 因为操作SQL数据库时不规范,或是多人开发时产生了同步问题,就可能导致正规的MIGRATE时不能完成. 已其修改,不如直接生成SQL之后运行.. 记住语法即可... python manage.py sqlmigrate app 0002_auto_20141212_1323(未执行的SQL编号文件) ~~~~~~~~~~~~~~ django>=1.7数据库迁移只有三个命令 migrate,用来迁移数…
在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来.这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误: django.db.utils.OperationalError: (1050, "Table 'xxx' already exists") 要处理这种情况,如果是数据表都已经存在了,在migrate时直接使用 --fake-initial 来处理 python ma…
目录 django关于manage.py migrate无效的问题解决 django关于manage.py migrate无效的问题解决 问题描述: 对于django已有的model,修改之后,想重新建模,于是将migrations文件夹中除init.py之外其他文件都删掉,再次执行以下步骤python3 manage.py makemigrations确认成功,执行python3 manage.py migrate,提示No migrations to apply. 表示一脸懵逼.再次修改,指…
django的后台我们只要加少些代码,就可以实现强大的功能. 与后台相关文件:每个app中的 admin.py 文件与后台相关. 下面示例是做一个后台添加博客文章的例子: 一,新建一个 名称为 zqxt_admin 的项目 1 django-admin.py startproject zqxt_admin 二,新建一个 叫做 blog 的app 1 2 3 4 5 # 进入 zqxt_admin 文件夹 cd zqxt_admin   # 创建 blog 这个 app python manage…
[TOC] Launch with code git spreading is obsolte lwc Installation Path D:\PythonWebSW\Django-1.5.5 add "D:\PythonWebSW\Python27\Script" to Environment Variable "Path", then django-admin.py can be run in any directory add "D:\Python…
一.Django QuerySet API Django模型中我们学习了一些基本的创建和查询.这里专门讲以下数据库接口相关的接口(QuerySet API),当然你也可以选择暂时跳过这节.如果以后用到数据库相关的时候也可以在看看. 从数据库中查询出来的结果一般是一个集合,这个集合叫做QuerySet. 文中的例子大部分是基于这个blog/models.py from django.db import models class Blog(models.Model): name = models.C…
一.Django 基本命令 温馨提示:如果你想学习Django,那么就请您从现在开始按照笔记记录一步一步的用手把代码敲出来,千万不要偷懒哦..... 1.创建一个Django project django-admin.py startproject project 或者 django-admin startproject project 一个project为一个项目,后面project是项目名称,根据自己的需求可以自己自定义修改,必须要符合Python的变量命名规则(以下划线或字母开头) 2.新…