django orm模块中的 is_delete用法


Posted in Python onMay 20, 2020

数据库删除数据咱都知道,简单的说就是当一条数据对企业没用后,一般人可能会选择删除这条数据。

但是删除后,万一以后又突然有用呢。所以我们这时候会选择在写orm模块的时候,加入is_delete字段

is_delete = models.BooleanField(default=False,verbose_name='是否删除')

这样以后咱如果要删除一条数据了,就设置一下

is_delete=1

就表示这条数据在逻辑上删除了,简单的说就是你再怎么搜数据库也搜不到了,如果以后还用,就再设置

is_delete=0

就可以了!

补充知识:django中当model设置了ordering后,使用distinct()和annotate()问题记录

model类如下,我在class Meta中设置了ordering = ['-date_create'],即模型对象返回的记录结果集是按照这个字段排序的。

class SystemUserPushHistory(models.Model):
 
  id = models.UUIDField(default=uuid.uuid4, primary_key=True)
  host_name = models.CharField(max_length=128, null=False)
  system_username = models.CharField(max_length=128, null=False)
  method = models.CharField(max_length=32, null=False)
  is_success = models.BooleanField(default=False)
  date_create = models.DateTimeField(auto_now_add=True, editable=False)
  message = models.CharField(max_length=4096, null=True)
 
  class Meta:
    db_table = "assets_systemuser_push_history"
    ordering = ['-date_create']
 
  def __str__(self):
    ret = self.system_username + " => " + self.host_name
    return ret

当业务有需求如对host_name进行分组显示,在代码中用到了annotate,如下。

>>> from django.db.models import Count 
>>> from assets.models import SystemUserPushHistory
>>> p = SystemUserPushHistory.objects.values("host_name").annotate(dcount=Count(1))
>>> p
<QuerySet [{'host_name': '点2', 'dcount': 1}, {'host_name': '点3', 'dcount': 2}, {'host_name': '点2', 'dcount': 1}, {'host_name': '点3', 'dcount': 1}]>
>>> print(p.query)
SELECT `assets_systemuser_push_history`.`host_name`, COUNT(1) AS `dcount` FROM `assets_systemuser_push_history` GROUP BY `assets_systemuser_push_history`.`host_name`, `assets_systemuser_push_history`.`date_create` ORDER BY `assets_systemuser_push_history`.`date_create` DESC

可以看到,所得到的结果并不像我们预期的一样,之后把执行的sql输出出来可以看到在group by的时候是对host_name和date_create进行分组,原因就是因为我们在model类中设置了ordering,去掉之后代码运行正常。

使用distinct和上面的情况类似,就不列出来了。

以上这篇django orm模块中的 is_delete用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入解析Python中函数的参数与作用域
Mar 20 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
opencv与numpy的图像基本操作
Mar 08 Python
解决Mac下使用python的坑
Aug 13 Python
浅谈pycharm使用及设置方法
Sep 09 Python
Python爬取爱奇艺电影信息代码实例
Nov 26 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
python 负数取模运算实例
Jun 03 Python
Python中文纠错的简单实现
Jul 07 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 Python
Python3批量创建Crowd用户并分配组
May 20 #Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 #Python
django中related_name的用法说明
May 20 #Python
在django中form的label和verbose name的区别说明
May 20 #Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 #Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 #Python
如何在sublime编辑器中安装python
May 20 #Python
You might like
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Python基本数据类型详细介绍
2014/03/11 Python
ptyhon实现sitemap生成示例
2014/03/30 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python numpy 常用函数总结
2017/12/07 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
六十大寿答谢词
2014/01/12 职场文书
大学生先进事迹材料
2014/02/16 职场文书
公司保密承诺书
2014/03/27 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
暑期教师培训方案
2014/06/07 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
小学国庆节活动总结
2015/03/23 职场文书
观看建国大业观后感
2015/06/01 职场文书
导游词幽默开场白
2019/06/26 职场文书
POST提交数据常见的四种方式
2022/01/18 HTML / CSS