Django學習筆記009-django models進行資料庫增刪查改
引入models的定義
from app.models import myclass
class myclass():
aa = models. CharField (max_length=None)
bb = models. CharField (max_length=None)
def __unicode__(self):
return u'%s %s' %(aa,bb)
增
新增一行資料1
add = myclass(aa='wahaha',bb='hahawa' )
add.save() #不save無法儲存到資料庫
add.id #獲取增加的這條資料的ID
新增一行資料2
myclass.objects.create(aa='wahaha',bb='hahawa') # 同上1方法一樣無需儲存save
刪
刪除表中全部資料
myclass.objects.all().delete()
刪除一條aa等於'test'的資料
myclass.objects.get(aa='test').delete()
刪除多條資料
myclass.objects.filter(aa='123').delete() #過濾出aa欄位等於123的都刪除
查
查出庫中所有條數的資料
myclass.objects.all()
查詢帶欄位名的所有條數資料
myclass.objects.all().values()
查詢單挑資料
myclass.objects.get(aa='123') #查詢aa欄位中是123的這條資料,如果是多條和沒有的時候會報錯,儘量結合try:except使用
查詢匹配條件的多條資料
myclass.objects.filter(aa='123') #查詢aa欄位值為123的所有資料條數,括號的匹配條件可多個,以逗號分隔
模糊查詢
myclass.objects .filter(aa__contains="1") #查詢aa欄位中值包含'1'的資料,例如aa欄位值為 123 154 這兩條都能匹配
根據欄位內容排序後展示資料
myclass.objects.order_by('aa') #根據aa欄位的內容進行資料排序,會根據字母和數字排序
根據欄位內容逆向排序後展示資料,加一個負號
myclass.objects .order_by('-aa' ) #根據aa欄位的內容進行逆向資料排序,會根據字母和數字排序
連鎖查詢,先過濾,過濾後進行逆向排序
myclass.objects.filter(aa='123') .order_by("‐aa")
限制資料條數,相當於mysql limit
myclass.objects.filter(aa='123')[0] #[0]顯示第一條 [0:2]會顯示前兩條
myclass.objects.filter(aa='123').order_by("‐aa")[0] #切片不支援負數,這樣就資料序列倒過來的第一條,也就是最後一條資料
改
更新資料
a = userinfo.objects.get(cellPhone='13133333333') #查詢一條你要更新的資料
a.cellPhone='3111111111111' #賦值給你要更新的欄位
a.save() #儲存
更新多個欄位或一個欄位
myclass.objects .get(aa='123').update(aa='321',bb="wahaha") #update可多條
更新所有欄位
myclass.objects.all().update(aa='8888') #更新所有欄位,更新後會顯示受影響的條數