Python Django 開發 3 數據庫CURD

上一篇表建好後開始對數據進行CURD操做python

dos輸入:shell

>>>python manage.py shell

如下的命令都是在shell中測試數據庫

(C)增:django

1 >>>import myLesson import Blog
2 >>>b = Blog(name = 'Frist Blog', tagline = 'All')
3 >>>b.save()
4 >>>b.id
5 1

操做都是以對象.save()的方式來保存到數據庫,用官方的話是:函數

To create an object, instantiate it using keyword arguments to the model class, then call save() to save it to the database.測試

機器翻譯:建立一個對象,使用關鍵字參數模型類的實例化它,而後調用save()來將其保存到數據庫中。spa

save()方法是沒有返回值的,因此最後一個輸出自增的ID編號翻譯

若是須要直接寫入,不使用save方法,以下:code

  Blog.objects.create(name = 'Frist Blog', tagline = 'All')對象

(U) 改:

1 >>>b.name
2 Frist Blog
3 >>>b.name = 'New name'
4 >>>b.save()
5 >>>b.name
6 New name

另外一種直接修改的方法:

  Blog.objects.filter(id = 1).update(name = 'New name')

(R)查:

1 >>>nb = Blog.objects.get(id = 1)
2 >>>nb.name
3 u'New name'

get方法只用於查詢返回只有一條數據的狀況,若是沒有返回值或有多個返回值,就會報錯,這時候能夠使用filter函數,返回一個QuerySet對象,相似結果集對象

  nb = Blog.objects.filter(id=1)

 查詢全部:Blog.objects.all()

 排序:Blog.objects.all().order_by('id')  ,這樣是升序,降序字段前面加個「-」號,order_by('-id'), 根據多個字段排序:**.order_by('id','name')

 限定條數:Blog.objects.all().order_by('id')[0:10]  ,由於all這樣返回的是列表,因此能夠用Python中的列表處理函數來處理

 

(D)刪:

1 >>>nb.delete()

 

 數據已刪掉,但nb對象還保存值

然而,這些是最基本的用法,光知道這些沒有一點卵用,我研究研究先

相關文章
相關標籤/搜索