相关疑难解决方法(0)

Django South - 表已经存在

我正试图开始南方.我有一个现有的数据库,我添加了South(syncdb,schemamigration --initial).

然后,我更新models.py了添加字段并运行./manage.py schemamigration myapp --auto.它似乎找到了该领域并说我可以应用它./manage.py migrate myapp.但是,这样做会给出错误:

django.db.utils.DatabaseError: table "myapp_tablename" already exists
Run Code Online (Sandbox Code Playgroud)

tablename是第一个列出的表models.py.

我正在运行Django 1.2,South 0.7

django django-south

188
推荐指数
3
解决办法
6万
查看次数

用pycharm使用south的新手难度 - DatabaseError:没有这样的表:south_migrationhistory

我正在使用sqlite3和pycharm来了解有关django的更多信息,并且谷歌搜索发现南方建议在创建模型后更容易修改模型.

我正在尝试遵循http://south.aeracode.org/docs/tutorial/part1.html#starting-off上的建议.

到目前为止,我最成功的是创建一个简单的模型并在向south_apps添加南之前运行syncdb.这样就创建了初始表,我有机会创建一个超级用户.(如果没有用户,Django管理员似乎会担心).

然后我将south添加到installed_apps,并运行django_manage.py schemamigration书签--initial

它似乎工作正常.创建一个名为migrations的新目录,其中包含我的app文件夹中的几个文件以及一条令人鼓舞的消息."已创建0001_initial.py.您现在可以将此迁移应用于:./ manage.py迁移书签"

下一步 - django_manage.py"迁移书签会生成以下错误消息:django.db.utils.DatabaseError:没有这样的表:south_migrationhistory.

我认为该表将在第一个schememigration步骤中创建.我错过了什么?有人可以帮忙吗?

玛格

django django-south pycharm

15
推荐指数
2
解决办法
1万
查看次数

南无法创建新字段,因为字段不存在

我正在尝试使用South将新的URLField添加到模型中,例如:

class Document(models.Model):
    text = models.TextField()
    reference_page = models.URLField(blank=True, null=True)
    source_page = models.URLField(blank=True, null=True) # new field
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时,python manage.py schemamigration myapp --auto我得到错误:

DatabaseError: column myapp_document.source_page does not exist
LINE 1: ...ext", "myapp_document"."reference_page", "myapp_doc...
Run Code Online (Sandbox Code Playgroud)

我正在使用PostgreSQL作为我的数据库后端.我正确地初始化了我的南方应用程序,并且已经为它运行了迁移.我确保我的Django和South安装是最新的.

为什么现在会给我这个错误?

编辑:奇怪的是,如果我手动创建数据库中的列,则schemamigration调用成功,但当然migrate调用失败,直到我手动删除列.这很奇怪.

python django django-south

4
推荐指数
1
解决办法
1109
查看次数

标签 统计

django ×3

django-south ×3

pycharm ×1

python ×1