1、安装:pip install mysqlclient
2、数据库连接配置(settings.py):先注释掉现有的
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'demo',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
3、定义表结构(code first):
4、执行命令来生成表结构:
python .manage.py makemigrations python .manage.py migrate
5、增删改查(views.py):
from appAdmin import models
def ormDemo(request):
print("新增数据方式1")
models.userInfo.objects.create(UserName="a", Account="b", Password="c", Age=10, CreateTime="2019-12-05 17:00:48")
print("新增数据方式2")
userObj = models.userInfo()
userObj.UserName="c"
userObj.Account="c"
userObj.Password="c"
userObj.Age=12
userObj.CreateTime="2019-12-15 17:00:48"
userObj.save()
models.userInfo.objects.filter(id=deleteId).delete()
models.userInfo.objects.filter(id=updateId).update(UserName="a1")
print("id查询数据")
data_by_id = models.userInfo.objects.filter(id=1).first()
print(data_by_id.id, data_by_id.UserName, data_by_id.Account, data_by_id.Password, data_by_id.Age, data_by_id.CreateTime)
print("列表所有数据")
data_all = models.userInfo.objects.all()
for data in data_all:
print(data.id, data.UserName, data.Account, data.Password, data.Age, data.CreateTime)
print("列表部分数据")
"""
__exact 精确等于 like ‘aaa’
__iexact 精确等于 忽略大小写 ilike ‘aaa’
__contains 包含 like ‘%aaa%’
__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。
__gt 大于
__gte 大于等于
__lt 小于
__lte 小于等于
__in 存在于一个list范围内
__startswith 以…开头
__istartswith 以…开头 忽略大小写
__endswith 以…结尾
__iendswith 以…结尾,忽略大小写
__range 在…范围内
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
__isnull=True/False
"""
data_list = models.userInfo.objects.filter(UserName="a")
print("分页查询前2条数据")
data_list = models.userInfo.objects.filter(UserName="a")[0:2]
return HttpResponse("ok", content_type='application/json', charset='utf-8')


