关键词:
单表操作
例:
1. 单表查询所有用户:models.Book.objects.all() 得到的是 queryset对象(当成列表),列表里面,一个一个的对象[user1,user2] ? 2. render(request, ‘booklist.html‘, ‘book_list‘: ret) ? 3. 模板里: % for user in book_list % #要循环的内容 book.name % endfor% 4. get请求携带参数: http://127.0.0.1:8000/deleteuser/?id=1 后台取值:request.GET.get(‘id‘) request.GET[‘id‘] 5. 前台post提交的数据取值:name=request.POST.get(‘name‘)
查询的API
all(): 查询所有结果 filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象 超过一个或者没有都会抛出错误。 exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 order_by(*field): 对查询结果排序(‘-id‘) reverse(): 对查询结果反向排序 count(): 返回数据库中匹配查询(QuerySet)的对象数量。 first(): 返回第一条记录 last(): 返回最后一条记录 exists(): 如果QuerySet包含数据,就返回True,否则返回False values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列 model的实例化对象,而是一个可迭代的字典序列 values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列 distinct(): 从返回结果中剔除重复纪录
基于双下划线的模糊查询
Book.objects.filter(price__in=[100,200,300]) Book.objects.filter(price__gt=100) Book.objects.filter(price__lt=100) Book.objects.filter(price__gte=100) Book.objects.filter(price__lte=100) Book.objects.filter(price__range=[100,200]) Book.objects.filter(title__contains="python") Book.objects.filter(title__icontains="python") Book.objects.filter(title__startswith="py") Book.objects.filter(pub_date__year=2012)
2. 单表的删除
关键字: delete()
models.Book.objects.filter(id=id).delete()
3. 单表的增加
两种方式: 1 book_obj=Book.objects.create(title="python葵花宝典",state=True,price=100,publish="苹果出版社",pub_date="2012-12-12") 2 book_obj=Book(title="python葵花宝典",state=True,price=100,publish="苹果出版社",pub_date="2012-12-12") book_obj.save()
4. 单表的修改
关键字: update() Book.objects.filter(title__startswith="py").update(price=120)
前后端交互
<form action="/updateuser/?id= book.id " method="post"> <p><input type="hidden" name="id" value=" book.id "></p> <p>书名: <input type="text" name="name" value=" book.name "></p> <p>价格: <input type="text" name="price" value=" book.price "></p> <p>出版社: <input type="text" name="publish" value=" book.publish "></p> <input type="submit" value="提交"> </form>
django模型层:单表多表操作f与q查询(代码片段)
DJango模型层单表操作使用有几步:settings.py中配置连接数据库的地址,端口在init.py中使用pymysql在models.py里写类,一个类对应一个表,写属性数据库迁移命令,第一个命令是纪录,第二个命令才是真正的数据库同步导入models到views... 查看详情
django模型层:单表操作(代码片段)
...者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可 查看详情
9.17模型层orm单表操作(代码片段)
1创建模型创建名为book的app,在book下的models.py中创建模型:fromdjango.dbimportmodels#Createyourmodelshere.classBook(models.Model):id=models.AutoField(primary_key=True)title=models.CharField(max_length=32)state=models.Bo 查看详情
django之模型层&orm操作(代码片段)
一.单表查询: 1.在模型层创建模型表:fromdjango.dbimportmodels#Createyourmodelshere.#单表查询表classUser(models.Model):name=models.CharField(max_length=32)age=models.IntegerField()registe 查看详情
model,单表操作(代码片段)
...射(ObjectRelationalMapping,简称ORM), 它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变... 查看详情
django模型层之单表操作(代码片段)
Django模型层之单表操作一、ORM简介我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增、删、改、查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql、oracle、MicrosoftSQLServ... 查看详情
orm单表操作查询多表操作查询及增删改查(代码片段)
...是目的,而是人生旅途中的一种态度。 多表操作创建模型实例:我们来假定下面这些概念,字段和关系作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作... 查看详情
djangoorm单表实例(代码片段)
文章目录一、DjangoORM单表实例创建新模型二、数据库操作(1)添加数据(2)查找数据-filter()-exclude()-get()-order_by()-reverse()-count()-first()-last()-exists()-values()-values_list()-distinct()(3 查看详情
djangoorm单表实例(代码片段)
文章目录一、DjangoORM单表实例创建新模型二、数据库操作(1)添加数据(2)查找数据-filter()-exclude()-get()-order_by()-reverse()-count()-first()-last()-exists()-values()-values_list()-distinct()(3 查看详情
django基础之djangoorm单表操作(代码片段)
...者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变... 查看详情
mysql单表操作(代码片段)
文章目录MySQL单表操作一、排序二、聚合函数三、分组四、limit关键字MySQL单表操作一、排序语法格式说明SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[ASC]ASC表示升序排序(默认)SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[DES... 查看详情
mysql单表操作(代码片段)
文章目录MySQL单表操作一、排序二、聚合函数三、分组四、limit关键字MySQL单表操作一、排序语法格式说明SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[ASC]ASC表示升序排序(默认)SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[DES... 查看详情
查询语句select[单表操作](代码片段)
---SQL单表简单查询1、单表操作&别名的使用1--查询表的所有数据:select*from表名;通配符*代表所有2select*fromemp;1--查询表中指定字段的值:select字段名1,字段名2,...from表名;2selectempno,ename,job,sal,hiredate,commfromemp;1--查询结果中的字段... 查看详情
17-2orm单表操作和多表操作(代码片段)
参考:https://www.cnblogs.com/liwenzhou/p/8660826.html一 ORM单表操作1增删改查11.查询21.查所有3models.Publisher.objects.all()42.查某个具体的记录5models.Publisher.objects.get(id=1)-->注意查询条件不成立就报错62.删除一条记录7models.Publish 查看详情
学员管理示例——班级管理(单表操作)(代码片段)
一、新建views文件夹 1、新建views文件夹目的:给不同管理的操作分类,比如班级操作归为一类。 2、必须删除原来的views,以免路径搜索不到新建views文件夹 3、创建classes.py文件 二、操作流程(URL->函数->... 查看详情
123(代码片段)
...——对象关系映射(ObjectRelationalMapping),它实现了数据模型与数据库的解耦,即数据模型的设计。利用它我们不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面... 查看详情
django之单表操作(代码片段)
1.查询方法:<1>all():查询所有结果<2>filter(**kwargs):它包含了与所给筛选条件相匹配的对象<3>get(**kwargs):返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出... 查看详情
django---单表操作之展示书籍列表(代码片段)
下面使用pythonconsole对数据库进行增删改查 下面我们来举个例子在页面上展示记录结果:注意html里面变量的写法%forbookinbook_list%<tr><td>book.id</td><td>book.title</td></tr>%endfor% 查看详情