【发布时间】:2014-09-17 08:58:42
【问题描述】:
我看过这些问题; http://south.readthedocs.org/en/latest/tutorial/part1.html、South ignores change in field default value in Python / Django 和 Django-south not detecting DB changes 等等,但我似乎无法解决我的问题。
我有一个现有模型,其表中有数据,我正在通过外键向它添加另一个模型。我已经运行了模式迁移和迁移,但没有任何东西被证明是有效的。这是代码:
class UserNote(models.Model):
user = models.ForeignKey(User)
description = models.TextField(blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class UserNoteType(models.Model):
name = models.CharField(max_length=20)
我需要将 UserNoteType 作为外键添加到 UserNote,并且每次尝试添加该字段都会导致“未安装”、“未定义”。我已经为此奋斗了几个小时,任何帮助都会有很大帮助。
编辑: 当我尝试创建架构迁移时收到错误:
CommandError:一个或多个模型未验证: auth.usernote: 'note_type' 与 model 有关系,它要么没有安装,要么是抽象的。
【问题讨论】:
-
你能发布完整的错误信息吗?它说的不仅仅是“未安装”或“未定义”吗?基本上,您正在运行的完整南命令是什么,以及错误的完整输出。
-
它只是提到了模型。
-
CommandError: 一个或多个模型未验证:auth.usernote: 'note_type' 与模型
有关系,该模型要么未安装,要么是抽象的。 -
这可能不是南方的错误,但一般来说你的模型。如果你只运行 python manage.py runserver 会发生什么,你也会得到同样的错误吗?首先要做的是确保您的模型得到验证。你能发布完整的模型文件吗?包括 UserNote 模型?
-
我没有使用 .manage,我使用的是 django-admin.. 我的服务器运行完美。我只在这些迁移尝试中遇到了这个问题。
标签: python django postgresql database-migration django-south