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 ...
随机推荐
- cart_购物车小程序
#author:leon product_list= [ ('iphone',5800), ('mac pro',9800), ('bike',800), ('watch',6000), ('coff ...
- linux比较两个文件的不同(6/21)
cmp 命令:比较任意两个类型的文件,且吧结果输出到标准输出,默认文件相同不输出,不同的文件输出差异 必要参数 -c 显示不同的信息-l 列出所有的不同信息-s 错误信息不提示 选择参数 -i< ...
- [转]毕设- 深入HBase架构解析(一)
深入HBase架构解析(一) 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Archi ...
- Python面试题之容器(Collections)
容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections.我们将讨论它的作用和用法. 我们将讨论的是: defaultdict coun ...
- Nginx rewrite配置
rewrite应用 Rewrite模块设置及Wordpress和Discuz的示例.Nginx的Rewrite规则比Apache的简单灵活多了,从下面介绍可见一斑. rewrite配置 Nginx可以 ...
- apache php 60 503
服务器端:apache php 文件上传,60秒后,返回Response 503 php-fpm.conf: request_terminate_timeout = 600 前算万算没想到这里还有个超 ...
- 20145219 《Java程序设计》第01周学习总结
20145219 <Java程序设计>第01周学习总结 教材学习内容总结 软件分类:系统软件(DOS.Windows.Linux等).应用软件(扫雷.QQ等) 人机交互方式:图形化界面.命 ...
- python的正则表达式捕获组命名问题
- CODE FESTIVAL 2015 決勝(部分)
CODE FESTIVAL 2015 決勝(部分) B - ダイスゲーム 题意: 给\(N\)个\(6\)个面骰子,然后问掷到概率最大的点数是多少. 分析: 随便打表随便发现是\(\huge\left ...
- code for 1 - 分治
2017-08-02 17:23:14 writer:pprp 题意:将n分解为n/2, n%2, n/2三部分,再将n/2分解..得到一个序列只有0和1,给出[l, r]问l到r有几个1 题解:分治 ...