模型层单表操作(代码片段)

zhangpang zhangpang     2023-01-20     438

关键词:

模型层单表操作

单表操作

例:

1. 单表的查询

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%  查看详情