nul*_*ull 5 python data-migration django-models django-south
我遇到了同样的问题:django - "manage.py test"失败"表已经存在"
模式迁移/迁移工作正常(虽然确实有一些问题需要我 - 假,但所有随后的迁移与南方工作).但是,当我进行单元测试时,我得到:
(1050, "Table '{tablename}' already exists")
Run Code Online (Sandbox Code Playgroud)
我只是好奇我怎么能绕过这个,以及为什么会这样.在上面链接的问题中给出的唯一答案是,南方可以被排除在单元测试之外,如果我这样做,这是否意味着我无法对南方管理的表进行单元测试?
解释非常感谢:)
亚当
不,这并不意味着.不要忘记,如果你现在从头创建它们,Django已经知道你的表应该是什么样子- 它只是使用模型定义.South非常有用,因为它允许您在更改模型时轻松转换表结构,但是当您运行测试时,您并不关心:您只需要在当前版本的表上运行测试.
所以是的,在运行测试时禁用South,通过SOUTH_TESTS_MIGRATE = False,Django将自动为您创建表.
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |