Django 資料庫table 新增欄位

通常在Django的app發展的時候,通常會因為各種需求而要增加新的欄位進去資料庫。


而Django Books English 的假設是"讀者小的我不太熟SQL的指令"。


所以在Chapter 10裡面教你怎麼新增新的欄位:


=======================================
在你想新增欄位的app裡面的 model.py 裡面,新增要多加進去的新欄位。


執行下面這個指令會顯示SQL指令 (假設你的app名稱是books)


python manage.py sqlall books


登入SQL的指令模式。然後用ALTER TABLE指令來新增新的欄位。


=======================================


所以其實看一看,方法就很直接,就是去model.py裡面修改新增欄位的設定,之後再登入SQL server裡面手動新增欄位。


下面是我試著去在原本的app books 的 model.py 裡面新增一個 叫做comment欄位的過程:


先去修改modle.py在class Book裡面新增一個欄位設定:



comment =  models.CharField(max_length=255)


之後再登入SQL server執行:


ALTER TABLE books_book ADD comment char(255) DEFAULT 'NONE';


登出sql之後,進去 python manage.py shell 裡面試看看有沒有成功:


from books.model import Book


b = Book.object.all()[0]


b.comment


如果有出現


'NONE                                '


應該就沒問題,但是進去admin裡面的Books選項還沒出現這個comment的欄位。


但是跑過python manage.py syncdb之後就出現了。

留言

熱門文章