1. 程式人生 > >django mysql連線

django mysql連線

django配置mysql
資料庫手動建立

 # 'ENGINE': 'django.db.backends.sqlite3',
        'ENGINE': 'django.db.backends.mysql', #改成mysql
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'NAME': 'project_2',#建立資料庫


        'USER':'root', #使用使用者名稱
        'PASSWORD':'123456',#密碼
        'HOST':'localhost',#指定mysql資料庫電腦ip
        'PORT':3306,

匯入pymysql
在__init__設定:
import pymysql


pymysql.install_as_MySQLdb()

re_path('delete/(\d+)', views.delete,name='delete'),

插入資料:
insert into project_2_bookinfo(btitle,bpub_date,bread,bcomment,isDelete)
values('射鵰英雄傳','1990-5-3',12,34,0),('天龍八部','1995-8-3',22,58,0);

insert into project_2_heroinfo(hname,hgender,hbook_id,hcomment,isDelete)
values('郭靖',1,1,'降龍十八掌',0),('黃藥師',1,1,'彈指神功',0),


('喬峰',1,2,'彈指神劍',0);


default 和blank不影響表結構,不需要遷移
contains:是否包含。
說明:如果要包含%無需轉義,直接寫即可。
例:查詢書名包含'傳'的圖書。
list = BookInfo.objects.filter(btitle__contains='傳')
startswith、endswith:以指定值開頭或結尾。
例:查詢書名以'部'結尾的圖書
list = BookInfo.objects.filter(btitle__endswith='部')
以上運算子都區分大小寫,在這些運算子前加上i表示不區分大小寫,如iexact、icontains、istartswith、iendswith.

查詢id大於3且閱讀量大於30的圖書資訊
BookInfo.objects.filter(id__gt=3,bread__gt=30)
先匯入: from django.db.models import Q
查詢id大於3或閱讀量大於30的圖書資訊
BookInfo.objects.filter(Q(id__gt=3)|Q(bread__gt=30))