![](/img/trans.png)
[英]Django & South: Adding new field but DatabaseError occurs “table already exists”
[英]South django table already exists
我遇到了同樣的問題: django - “manage.py test”失敗“表已經存在”
模式遷移/遷移工作正常(雖然確實有一些問題需要我 - 假,但所有隨后的遷移與南方工作)。 但是當我進行單元測試時,我得到:
(1050, "Table '{tablename}' already exists")
我只是好奇我怎么能繞過這個,以及為什么會這樣。 在上面鏈接的問題中給出的唯一答案是,南方可以被排除在單元測試之外,如果我這樣做,這是否意味着我無法對南方管理的表進行單元測試?
解釋非常感謝:)
亞當
不,這並不意味着。 不要忘記,如果你現在從頭創建它們,Django已經知道你的表應該是什么樣子 - 它只是使用模型定義。 South非常有用,因為它允許您在更改模型時輕松轉換表結構,但是當您運行測試時,您並不關心:您只需要在當前版本的表上運行測試。
所以,是的,在運行測試時禁用South,通過SOUTH_TESTS_MIGRATE = False
,Django將自動為您創建表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.