二、Django学习之增删改查

增加数据

第一种方式

def index(request):
    #创建记录方式1
    #实例化要添加的记录(对象)
    student_obj = models.Student(
        name='dazhuang',
        age=23,
    )
    #自动刷新并存储到数据库
    student_obj.save()
    return render(request,'index.html')

第二种方式 常用方法

def index(request):
    #创建记录方式2
    # new_obj为返回值,返回这个类的对象 (model对象)
    new_obj = models.Student.objects.create(name='xiaozhuang',age=5)
    print(new_obj.name)
    print(new_obj.age)
    return render(request,'index.html')

第三种方式 批量创建

def index(request):
    #创建方式3 批量创建
    objs = []
    for i in range(20):
        obj = models.Student(
            name='xiangxi%s'%i,
            age = 10+i,
        )
        objs.append(obj)
    models.Student.objects.bulk_create(objs)

第四种方式 update_or_create

有就更新,没有就创建

models.Student.objects.update_or_create(
        name='xiangxi0',
        defaults={
            'age':48,
        }
    )

删除数据

通过model对象或queryset对象调用delete方法

def delete(request):
    # models.Student.objects.get(id=2).delete()
    models.Student.objects.filter(name='xiaozhuang').delete()
    return render(request,'index.html')

简单查询数据

获取全部数据

利用all()方法

def select(request):
    # 查询所有记录  如果不是一条数据,则返回一个结果集   类似于列表
    all_objs = models.Student.objects.all()
    print(all_objs)
    for i in all_objs:
        print(i.name)
    return render(request,'index.html')

条件查询 filter

查询条件作为参数传入即可。

查到返回结果,否则反回空列表(QuerySet对象)

def select(request):
    #条件查询  查询id等于3的数据
    objs = models.Student.objects.filter(id=3)
    print(objs)
    return render(request,'index.html')

条件查询 get

与filter类似,但返回的是model对象。get方法有且必须只有一条记录

更新数据

修改数据只能是queryset对象,不能是model对象

def update(request):
    models.Student.objects.filter(id=1).update(age=38)
    return render(request,'index.html')

原文地址:https://www.cnblogs.com/antmoe/p/12231415.html

时间: 2024-08-01 15:30:35

二、Django学习之增删改查的相关文章

Django数据库的增删改查

通过一个实例学习Django数据库的增删改查 Django - 路由系统 url.py - 视图函数 views.py - 数据库操作 models.py - 模板引擎渲染 - HttpReponse(字符串) - render(request,'/path/a.html',{'name':'root'}) 一.示例:用户基本CURD 1.数据库设计 id hostname ip port status 2.功能的实现 创建  project (pycharm) django-admin sta

Django rest_framework实现增删改查接口

目录 Django rest_framework实现增删改查接口 写接口前的知识准备 __all__的使用方法 序列化类配置 Response二次封装 连表深度查询 单查群查接口 单删群删接口 单增,群增接口 整体单改群改接口 局部修改数据 视图给序列化传参 Django rest_framework实现增删改查接口 本文使用Django的rest_framework框架的ModelSerializer模块和ListSerializer模块实现单查群查.单删群删.单增群增.单改群改接口. 写接口

Android学习--------实现增删改查数据库操作以及实现类似微信好友对话管理操作

最近的一个实验用到东西挺多,特地总结一下. 要求功能: 1.第一个页面添加歌曲名和歌手,跳到第二个页面列表显示所有记录,使用sqlite数据库 2.对于第二个页面显示的信息可以进行删除和修改操作,并自动刷新 最后我做的效果: 长按列表项弹出单个管理的菜单,像微信好友对话管理一样. 删除时可以直接删除这一条并在列表中直接显示,更新时弹出对话框更新内容提交后在列表中重新显示. 做此例遇到的困难: 1.菜单获取上下文 2.获取对话框中的内容 3.对话框按钮添加监听事件-----注意包不要导错:impo

Django ORM 数据库增删改查

Django ORM 数据库增删改查 增 # 创建.增加数据(推荐) models.UserInfo.objects.create(username='root',password='123') # 创建.增加数据 dic = {'username':'eric','password':'666'} models.UserInfo.objects.create(**dic) # 创建.增加数据 obj = models.UserInfo(username='xsk',password='123'

django 安装 及增删改查

django的增删改查 原文地址:https://www.cnblogs.com/pp8080/p/11729566.html

HTML DOM(二):节点的增删改查

上一篇讲述了DOM的基本知识,从其得知,在DOM眼中,HTML的每个成分都可以看作是节点(文档节点.元素节点.文本节点.属性节点.注释节点,其中,属性节点是属于元素节点),本篇的内容就是通过DOM对这些节点进行增删改查的操作. 获取(R) 1. getElementById(id).getElementsByName(name).getElementsByTagName(tagName),这三种方法都会忽略文档的结构. getElementById(id):通过id获取元素节点,如果页面上含有多

GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)

运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGenerate/ 生成方式见上一节: GZFramwork数据库层<一>普通表增删改查     新增一个自定义控件:ucTableUnitDocNo   后台代码同上一节ucTableUnit除了实例化bllBusiness不一样外其他都一样(红色背景标注) using System; using

CoreData的简单使用(二)数据的增删改查,轻量级的版本迁移

上一篇中我们已经使用CoreData创建了一个SQLite数据库 CoreData的简单使用(一)数据库的创建 现在对数据库进行数据的CRUD(增删改查) 1.Data Model 的设置 创建一个DataModel,取名CRUD.xcdatamodeld,添加Entity(Library和Book),添加属性,在Book中设置和Library的关联关系(一个Book可以存放在一个Library里) Book的属性和关联关系(选择Destination为Library,关系名称取名为librar

JDBC学习笔记——增删改查

1.数据库准备  要用JDBC操作数据库,第一步当然是建立数据表: ? 1 2 3 4 5 6 CREATE TABLE `user` (   `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,   `name` varchar(45) DEFAULT NULL,   `birthday` date DEFAULT NULL,   `money` double DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET