2013-07-31 45 views
1

在應用程序中,我一次運行多個遷移0023-0027。但第一次遷移是抱怨它缺少一個直到後來才引入的列。Django South遷移失敗,列不存在,對於尚未引入的列

Running migrations for blogs: 
- Migrating forwards to 0027_auto 
> blogs:0023_auto 
Error in migration: blogs:0023_auto 

錯誤讀取:

django.db.utils.DatabaseError: column blogs_blog.author_bio does not exist 
LINE 1: ...log"."author_name", "blogs_bl... 

因此,任何想法,爲什麼遷移0023會失敗,丟失未出臺之前遷移0027列?

+1

爲什麼downvote?這是一個非常簡單的問題和答案 – Christoffer

回答

2

的問題是,在轉發功能自動生成的0023移民曾在它下面:

 for a in Blog.objects.all(): 
      a.uuid = u'' + str(uuid.uuid1().hex) 
      a.save() 

調用基於最新內容的模式,讓author_bio是它。 要修復它,然後從「orm」調用模型,如下所示:

 for a in orm.Blog.objects.all(): 
      a.uuid = u'' + str(uuid.uuid1().hex) 
      a.save()