【问题标题】:South django table already existsSouth django 表已经存在
【发布时间】:2011-02-10 14:12:35
【问题描述】:

我遇到了同样的问题:django - "manage.py test" fails "table already exists"

架构迁移/迁移工作正常(虽然确实有一些问题需要我 --fake,但所有后续迁移与南方工作)。但是当我运行单元测试时,我得到:

(1050, "Table '{tablename}' already exists")

我只是很好奇如何解决这个问题,以及为什么会发生这种情况。上面链接的问题中给出的唯一答案是可以将南排除在单元测试之外,如果我这样做是否意味着我不能对南管理的表进行单元测试?

非常感谢您的解释:)

亚当

【问题讨论】:

    标签: python django-models data-migration django-south


    【解决方案1】:

    不,不是那个意思。不要忘记如果您从头开始创建表,Django 已经知道它们应该是什么样子现在 - 它只是使用模型定义。 South 很有用,因为它允许您在更改模型时轻松转换表结构,但是当您运行测试时,您并不关心这一点:您只想在当前版本的表上运行测试。

    所以是的,在运行测试时禁用 South,通过 SOUTH_TESTS_MIGRATE = False,Django 会自动为你创建表。

    【讨论】:

    • 干杯另一个 django 概念(我从 php 迁移)你已经在我糊涂的大脑中清理了
    猜你喜欢
    • 2011-03-06
    • 1970-01-01
    • 2011-03-31
    • 2016-06-12
    • 2012-06-01
    • 2012-03-11
    • 2019-11-17
    • 2011-06-20
    • 2013-02-22
    相关资源
    最近更新 更多