Django之mysql表单操作
在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增、删、改、查。
1. 添加表记录
class UserInfo(models.Model):
user = models.CharField(max_length=)
pwd = models.CharField(max_length=)
对于表单的添加有三种方式:
#方法1
obj= models.UserInfo(user="zhangsan",pwd="")
obj.save()
#方法二:
dic = {"user":"zhangsan", "pwd":""}
modles.UserInfo.objects.create(**dic)
# 方式三:
models.Student.objects.create(user="shangsan", pwd="")
2. 删除表记录
models.UserInfo.objects.filters(user="zhangsan").delete()
3. 修改表记录
models.UserInfo.objects.filter(user="password").update(pwd="666666")
或
obj = models.UserInfo.objects.get(user="zhangsan")
obj.pwd= "666666"
obj.save
注意这使用的是get(),get()如果找不到就会报错,如果有多个值也会报错,只能拿一个值
4. 查询表记录
4.1 查询相关的API
(1)all()
models.UserInfo.objects.all() // 获得所有
>>>> <QuerySet [<UserInfo: UserInfo object (1)>]>
(2)filter()
可以实现且关系,但是或关系需要借助Q查询实现,查不到的时候不会报错
models.UserInfo.objects.filter(user="zhangsan")
models.UserInfo.objects.filter(user="zhangsan",pwd="888888")
print(models.UserInfo.objects.filter(user="zhangsan").values())
>>>> <QuerySet [{'id': , 'user': 'zhangsan', 'pwd': ''}]>
print(models.UserInfo.objects.filter(user="zhangsan").values()[]["pwd"])
>>>>
(3)get()
如果找不到会报错,如果有多个值也会报错,只能获得有一个值的
models.UserInfo.objects.get(user="zhangsan")
models.UserInfo.objects.get(user="zhangsan",pwd="888888")
print(models.UserInfo.objects.get(user="zhangsan"))
UserInfo object ()
(4)exclude()
排除条件,查看除了()的其他信息
(5)values()
返回QuerySet对象,把对象转换为字典的形式
print(models.UserInfo.objects.filter(user="zhangsan").values("user"))
>>>> <QuerySet [{'user': 'zhangsan'}]>
print(models.UserInfo.objects.filter(user="zhangsan").values("user", "pwd"))
<QuerySet [{'user': 'zhangsan', 'pwd': ''}]>
(6)values_list()
返回QuerySet对象,把对象转换为元祖的形式
print(models.UserInfo.objects.filter(user="zhangsan").values_list())
>>>> <QuerySet [(, 'zhangsan', '')]>
(7)order_by()
排序
models.UserInfo.objects.all().order_by("user")
(8)reverse()
反序
models.UserInfo.objects.all().reverse()
(9)distinct()
去重
models.UserInfo.objects.filter(user="zhangsan").values("user").distinct()
(10)count()
数量
(11)first()
(12)last()
(13)exists()
查看有没有记录,如果有就返回True,没有则返回False,并不需要判断所有的数据
4.2 双下划线之表单查询
看下面的例子后应该就很清除了
models.Tb1.objects.filter(id__lt=, id__gt=) # 获取id小于1 且 大于10的值 models.Tb1.objects.filter(id__in=[, , ]) # 获取id等于11、、33的数据
models.Tb1.objects.exclude(id__in=[, , ]) # not in models.Tb1.objects.filter(name__contains="ven") #包括ven的
models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感 models.Tb1.objects.filter(id__range=[, ]) # 范围bettwen and startswith,istartswith, endswith, iendswith
Django之mysql表单操作的更多相关文章
- Django之form表单操作
小白必会三板斧 from django.shortcuts import render,HttpResponse,redirect HttpRespone:返回字符串 render:返回html页面 ...
- Django使用普通表单、Form、以及modelForm操作数据库方式总结
Django使用普通表单.Form.以及modelForm操作数据库主要应用于增删该查的情景下,流程通用如下,只是实现方式不一样: 进入填写表单页面: 在表单页面填写信息,并提交: 表单数据验证 验证 ...
- Django的form表单
html的form表单 django中,前端如果要提交一些数据到views里面去,需要用到 html里面的form表单. 例如: # form2/urls.py from django.contrib ...
- 转载:Django之form表单
转载: 一.使用form类创建一个表单 先定义好一个RegForm类: forms.py from django import forms # 导入forms类 class NameForm(form ...
- Django 的ORM 表间操作
Django之ORM表间操作 之前完成了简单的数据库数据增加操作.这次学习更多的表间操作. 单表操作 增加 方式一 b = Book(title="Python基础", pub ...
- Django中的表单
目录 表单 Django中的表单 用表单验证数据 自定义验证 表单 HTML中的表单是用来提交数据给服务器的,不管后台服务器用的是 Django 还是 PHP还是JSP还是其他语言.只要把 inpu ...
- 第二十二章 Django会话与表单验证
第二十二章 Django会话与表单验证 第一课 模板回顾 1.基本操作 def func(req): return render(req,'index.html',{'val':[1,2,3...]} ...
- 基于JQuery的前端form表单操作
Jquery的前端表单操作: jquery提供了良好的方法封装,在一些基本的操作的时候,能节省很多的麻烦,其中,在具体使用时,form表单的数据提交是最频繁也最常见的前后数据交换方式,所以在前 ...
- Django:提交表单时遇到403错误:CSRF verification failed
Django:提交表单时遇到403错误:CSRF verification failed 问题: 提交表单时遇到403错误:CSRF verification failed 解决方案: 在表单界面ht ...
随机推荐
- Win32 API编程:显示系统进程列表
#include <windows.h> #include <tlhelp32.h> // 声明快照函数的头文件 #include "tchar.h" #i ...
- 利用Metasploit进行Linux提权
利用Metasploit进行Linux提权 Metasploit 拥有msfpayload 和msfencode 这两个工具,这两个工具不但可以生成exe 型后门,一可以生成网页脚本类型的webshe ...
- SpringBoot 加载配置文件
1.application.properties或application.yaml是SpringBoot默认的配置文件. 可以通过@Value注解 配合 ${......}来读取配置在属性文件中的内容 ...
- 在Kotlin中 使用js 函数
在Kotlin中 使用js 函数 import javax.script.Invocable import javax.script.ScriptEngineManager fun main(args ...
- Spring_Bean 的作用域
beans-scope.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns=&quo ...
- 多线程-闭锁CountDownLatch
闭锁相当于相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关着的,所有的线程都不可以通过.它可以使一个或者一组线程等待某个时间发生.闭锁状态包括一个计数器,初始化的时候传入一个正数,这个数字表示等待 ...
- geoserver源码学习与扩展——kml/kmz转shapefile文件
geoserver通过工作空间Workspace-数据源DataStore-图层Layer管理地理数据,默认只支持shapefile格式的文件发布,不支持kml/kmz.csv的文件格式,所以存在将这 ...
- MySQL安装详解图文版(V5.5 For Windows)
MySQL在Windows中会得到越来越广泛的应用.故整理MySQL安装详解如下,以备不时之需.安装环境:Windows Server 2003 [32bit NTFS]版本信息:MySQL 5.5. ...
- 使用SpringMVC的crud操作时,进行数据修改,但是修改成功后,页面无法显示lastName属性值(被修改的那条记录)
我这个错误的原因在于,把map的键写错了,它必须和类名第一个字母小写相同 @ModelAttribute public void getEmployee(@RequestParam(value=&qu ...
- vs添加静态链接库+添加动态链接库+添加头文件目录
头文件添加方法:工程---属性---配置属性---c/c++---常规---附加包含目录(Additional Include Directories):加上头文件存放目录.注意:(1)路径必须指向头 ...