首页 > 数据库技术 > 详细

django 笔记4 数据库操作

时间:2018-06-14 10:56:02      阅读:212      评论:0      收藏:0      [点我收藏+]
django操作数据库
orm操作
select * from tb where id > 1
对应关系
models.tb.objects.filter(id__gt=1)
models.tb.objects.filter(id=1)
models.tb.objects.filter(id__lt=1)

创建类
        1  -根据类自动创建数据库表
        #models.py操作
        #######################################
        from django.db import models
        # Create your models here.

        #表名会默认为app01_userinfo
        class UserInfo(models.Model):
            #创建用户名列 字符串类型 指定长度
            #默认会创建个id列 且自增 为主键
            username = models.CharField(max_length=32)
            password = models.CharField(max_length=64)
        #######################################
        python manage.py makemigrations

        No changes detected 表示要去找models 所以在settings中的 INSTALLED_APPS=[添加个app名称]
        migrations记录了生成数据库表结构的一些数据0001_initial.py
        python manage.py migrate 生成数据库且会生成表

        2  -根据类对数据库表中的数据进行各种操作

若要改为MySQL连接 需要改settings  数据库配置文档 www.cnblogs.com/wupeiqi/articles/5237704.html
DATABASES = {
        default:{
        ENGINE:django.db.backends.mysql,
        NAME:dbname,
        USER: root,
        PASSWORD: xx,
        HOST:‘‘,
        PORT:‘‘
    }
}
    注意:
    MySQLdb模块在Python3是没有的
    在project中的__init__.py 即settings同级的__init__.py文件添加
    import pymysql
    pymysql.install_as_MySQLdb()


    增删改查
    #################################################################
    from app01 import models
def orm(request):
    #创建数据的方法1  一行插入数据
    models.UserInfo.objects.create(
        username=root,
        password=123
    )
    #创建数据的方法2
    obj = models.UserInfo(username=ljc,password=123)
    obj.save()

    #创建数据方法3
    dic = {username:eric, password:123}
    models.UserInfo.objects.create(**dic)
    return HttpResponse(orm)

def select(request): #查找数据
    result = models.UserInfo.objects.all() #表示所有数据都拿到
    #result QuerySet 是Django提供的 可以理解为列表[]
    #[obj1(id, username, password), obj2, obj3] 是UserInfo的对象
    for row in result:
        print(row.id,row.username, row.password)

    result = models.UserInfo.objects.filter(username="root") #查找条件 username=root的 如果username,password 是and共同拥有
    for i in result:

        print(i.username)
    return HttpResponse(result[1])

def delete(request):  #删除数据
    models.UserInfo.objects.filter(id=4).delete()  #filter类似where条件
    return HttpResponse(123)

def update(request):  #修改数据
    models.UserInfo.objects.all().update(password=666)  #将密码全部改为666
    return HttpResponse(123)
    #################################################################

 

django 笔记4 数据库操作

原文:https://www.cnblogs.com/Liang-jc/p/9180980.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!