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))