Django之mysql表单操作

在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增、删、改、查。1.添加表记录对于表单的添加有三种方式:2.删除表记录m

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增、删、改、查。

1. 添加表记录

class UserInfo(models.Model):
    user = models.CharField(max_length=16)
    pwd = models.CharField(max_length=32)

  对于表单的添加有三种方式:

#方法1
obj= models.UserInfo(user="zhangsan",pwd="888888")
obj.save()
#方法二:
dic = {"user":"zhangsan", "pwd":"888888"}
modles.UserInfo.objects.create(**dic)
# 方式三:
models.Student.objects.create(user="shangsan", pwd="888888")

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': 2, 'user': 'zhangsan', 'pwd': '888888'}]>
print(models.UserInfo.objects.filter(user="zhangsan").values()[0]["pwd"])
>>>> 888888

(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 (2)

(4)exclude()

  排除条件,查看除了()的其他信息

  models.UserInfo.objects.exclude(user=”zhangsan”)

(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': '888888'}]>

(6)values_list()

  返回QuerySet对象,把对象转换为元祖的形式

print(models.UserInfo.objects.filter(user="zhangsan").values_list())
>>>> <QuerySet [(2, 'zhangsan', '888888')]>

(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=10, id__gt=1)   # 获取id小于1 且 大于10的值
 
models.Tb1.objects.filter(id__in=[11, 22, 33])   # 获取id等于11、22、33的数据
models.Tb1.objects.exclude(id__in=[11, 22, 33])  # not in
 
models.Tb1.objects.filter(name__contains="ven")  #包括ven的
models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感
 
models.Tb1.objects.filter(id__range=[1, 2])      # 范围bettwen and
 
startswith,istartswith, endswith, iendswith 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120064.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dubbo的负载均衡策略

    dubbo的负载均衡策略Dubbo框架的负载均衡策略有以下几种:1、Random随机策略:该策略比较均匀,可以动态的调节权重;2、RoundRobin轮询策略:可以按照权重设置轮询的的比率;3、LeastActive最小活跃数策略:该策略是按照服务提供者的并发数目,该数目越小那么落在该服务提供者的身上越大的概率;4、ConsistentHash一致性策略:hash一…

    2022年7月11日
    23
  • 初识数据库

    数据库初步认识什么是数据(Data)什么是数据库(DataBase简称DB)数据库分类:1.关系型数据库2.非关系型数据库关系型数据库:表和表之间相互关联可以建立表(即文件)关系型数

    2022年3月29日
    36
  • 一个软件完整的开发流程介绍

    一个软件完整的开发流程介绍刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。开发流程百度的解释是:不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念…但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是…

    2022年7月16日
    25
  • 不通过浏览器获取公网 IP

    不通过浏览器获取公网 IP

    2022年2月19日
    68
  • Coordinator Layout使用

    Coordinator Layout使用

    2021年6月17日
    119
  • 大数据–商品推荐系统介绍(上)

    这次我们介绍商品推荐系统:推荐系统是什么推荐引擎的分类常见的推荐算法混合的推荐机制(重要)推荐系统架构协同过滤的实现推荐引擎解决的几个问题主动的用户,通过类目和搜索进行引导,对结果页进行干预被动的用户,通过用户的历史行为分析,推荐用户可能感兴趣的商品。对商家来讲,帮助商家卖出更多的东西推荐系统是什么目的为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品…

    2022年4月3日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号