這次的內容是使用 sqlite3 新增修改刪除 Table,這邊自己整理一下,才不容易忘記怎麼使用。
首先呢,如果尚未用過 sqlite 的人,需要先創建一個 superuser,可以透過下列的方式:讓他去做 syncdb 的時候,就會要求你先創建一個 superuser,跟著他所要求的資料輸入完,就可以創建成功囉。
> python manage.py syncdb |
再來是新增 TABLE 的部份,根據 djangobook 內的描述,如果你是用 django 的 database layer (models),你就必須先新增一個 app,因為 models 是在 app 裡的,增加 app 的方式為:
> python manage.py startapp ${app_name} |
新增好 app,就可以開啟剛剛新增 app 內的 models.py 來做編輯。
models.py 檔案與資料庫 TABLE 的關係大概是這樣的:classname 是 TABLE 名稱、class 裡頭每一個變數是欄位名稱、變數後面接著的是欄位的型態,以及欄位的限制。
class Score(models.Model): name = models.TextField(max_length=100) |
設計好 TABLE 後,要記得到 settings.py 的 INSTALLED_APPS 變數內加上剛剛新增的 ${app_name}。
再來就可以回到終端機,使用 syncdb 來完成在 sqlite 上 create table 的動作了。
> python manage.py syncdb |
空的 table 完成了,接下來就是塞資料進去,我們會需要使用 shell 來建立資料。
> python manage.py shell |
指令會打開 ipython,要先將 TABLE 的資訊 import 進來,才能夠新增資料進 db。
>>> from ${app_name}.models import ${class_name} |
我們可以像下列的方式,新增一筆資料:
>>> Score.objects.create(name='Candy', student_id=1234567, subject='Django', score=100, test_date='2014-10-25 22:49') |
我們還可以利用 objects.all() 列出有幾樣資料:
>>> print ${app_name}.objects.all() |
objects 還有需多 function 可以使用,像是 update、filter,都可以參考 Djangobook 來使用。
參考網址:
留言列表