django测试数据库创建与南方和add_to_class不兼容

时间:2012-06-08 20:50:27

标签: django django-models django-south django-testing

我在应用程序“threcomments”中有一个模型ThreadedComments。

然后我有另一个应用程序“cbcomments”,其中的models.py仅包含:

ThreadedComment.add_to_class('post_as', models.CharField(max_length=250))
ThreadedComment.add_to_class('is_deleted_by_user', models.BooleanField(default=False))
ThreadedComment.add_to_class('is_edited_by_user', models.BooleanField(default=False))
ThreadedComment.add_to_class('date_edited', models.DateTimeField(null=True))


def post_as_obj(self):
    if not self.post_as:
        return None

    try:
        return json.loads(self.post_as)
    except:
        return None

def _get_source_user(self):
    return self.user

ThreadedComment.post_as_obj = post_as_obj
ThreadedComment.get_source_user = _get_source_user

和ThreadedComments的4次南迁。

当我尝试构建测试数据库时,它在第二次迁移时崩溃,给出“无法添加重复列'post_as'”错误。

我唯一可以想到的是,出于某种原因,在运行cbcomments(但实际上是ThreadedComments)迁移之前,南方在加载cbcomments之后在ThreadedComments上执行了一个syncdb。

如何?为什么?我该怎么办?

0 个答案:

没有答案