【发布时间】:2015-04-28 10:06:25
【问题描述】:
我正在使用Django South。我正在关注http://south.readthedocs.org/en/latest/tutorial/part1.html的教程
首先我想提供一些关于我的项目和应用程序的信息。
我有一个 django 应用程序,即 photo,我有两个模型,即 Photo 和 UserCommission。
这些是模型
class Photo(models.Model):
name = models.CharField(max_length = 100)
photo = models.ImageField(upload_to = 'photos', blank=False,null=True)
approved = models.BooleanField(default = False)
approved_time = models.DateTimeField(auto_now=True,null=True,blank=True)
uploaded_time = models.DateTimeField()
description = models.CharField(max_length = 500 , blank = False , null = True)
和
class UserCommission(models.Model):
user = models.ForeignKey(User)
created_time = models.DateTimeField('Created Time',auto_now_add=True)
commission = models.IntegerField()
photo_name=models.CharField(max_length=255)
photo = models.ImageField(upload_to='commission_image')
download = models.DateTimeField()
photo_id = models.CharField(max_length=300)
对于我的第一次迁移,我根据教程应用了以下内容,
python manage.py schemamigration photo --initial
我立即应用了以下命令
python manage.py migrate photo
然后我对我的Photo 模型进行了更改,并应用以下命令进行最终迁移
python manage.py schemamigration photo --auto
和
python manage.py migrate photo
最后我的第一次迁移成功完成,编辑的列添加到Photo 模型中!
现在在另一种情况下,我必须更改我的 UserCommission 模型,为此我遵循了我第一次迁移所遵循的相同过程。但是在第二次迁移的最后一个命令之后是
python manage.py migrate photo
我遇到以下错误
为照片运行迁移: - 向前迁移到 0002_initial。
照片:0001_initial 致命错误 - 以下 SQL 查询失败:CREATE TABLE "photo_photo" ("id" serial NOT NULL PRIMARY KEY, "name" varchar(100) NOT NULL, "photo" varchar(100) NULL, "approved" boolean NOT NULL, "approved_time" 时间戳,时区为 NULL,"uploaded_time" 时间戳,时区不为 NULL,"description" varchar(500) NULL,"keyword" varchar(500) NULL,"image_id" varchar(300) NULL,"Certified" boolean NOT NULL, "approved_by" varchar(100) NOT NULL, "user_id" 整数 NOT NULL, "total_download" 整数 NOT NULL, "watermarked_image" varchar(100) NULL, "dpi_value" 整数 NOT NULL) 错误是:关系“photo_photo”已经存在 迁移错误:照片:0001_initial DatabaseError: 关系“photo_photo”已经存在
DatabaseError: relation "photo_photo" already exists
告诉你什么,真的很困扰我。
【问题讨论】:
标签: python django django-south