zoukankan      html  css  js  c++  java
  • django中数据库的配置及相关增删改查

    ORM

    ORM是什么?:(在django中,根据代码中的类自动生成数据库的表也叫--code first)

    ORM:Object Relational Mapping(关系对象映射)

    类名对应------》数据库中的表名

    类属性对应---------》数据库里的字段

    类实例对应---------》数据库表里的一行数据

    obj.id obj.name.....类实例对象的属性

    Django orm的优势:

    Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....,如果数据库迁移,只需要更换Django的数据库引擎即可;

    创建数据库类

    models.py

    #导包导入django数据库类
    from django.db import models
    
    #建立数据库类
    class User(models.Model):
        #主键 通过参数声明主键
        id = models.IntegerField(primary_key=True)
        #用户名 字符串类型需要声明长度限制
        username = models.CharField(max_length=200)
        #密码
        password = models.CharField(max_length=100)
        #时间字段
        time = models.DateTimeField()
        #图片 
        img = models.CharField(max_length=200)
        #性别
        gender = models.IntegerField()
    
    
        #声明表名
        class Meta:
            #必须和数据库中的表名吻合
            db_table = "user"


    #查询全部数据
        res = User.objects.all()
        #print(res)
    
        #查询限定条件的数据 
        res = User.objects.filter(username='新用户',password='你好')
        #print(res)
    
        #只取一条 
        res_one = User.objects.get(id=1)
        #print(res_one)
    
        #排除条件 
        res = User.objects.exclude(username='新用户')
    
        #定制字段显示
        res_s = User.objects.filter(username='新用户').values('password')
    
        #排序 
        res = User.objects.filter(username='新用户').order_by("password").reverse()
    
        #去重 
        res_dis = User.objects.filter(username='新用户').values('username').distinct()
        #print(res_dis)
    
        #取数量 
        res_count = User.objects.filter(username='新用户').count()
        print(res_count)
    #入库操作(增)
        #建立实例
        #user = User(username='新用户',password='你好')
        #入库操作
        #user.save()
    #删除数据(删)
        #User.objects.filter(username='新用户').delete()
    
    
     #修改数据(改) 第一种方式
        #user = User.objects.get(id=9)
        #修改字段
        #user.username = '1234'
        #保存修改
        #user.save()
    
     #修改数据(改) 第二种方式
        #return HttpResponse('',status=403)
    
        #User.objects.filter(id=9).update(password='新密码')
     
     
  • 相关阅读:
    文学-人物-苏轼:百科
    文学-人物:王维
    文学-人物:杜甫
    文学-人物:李白
    模型-CMM:百科
    公司-魏桥:百科
    云:VMware
    postfix
    CSS 实现背景图尺寸不随浏览器缩放而变化
    Java中线程的操作状态
  • 原文地址:https://www.cnblogs.com/liang715200/p/10465582.html
Copyright © 2011-2022 走看看