栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python django 使用orm操作mysql数据库

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python django 使用orm操作mysql数据库

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')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/929212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号