django 获取字段最大值,最新的记录操作
如果是直接在数据库拉取
from django.db.models import Max
Argument.objects.all().aggregate(Max('rating'))
如果是从已经存在的model列表获取
from django.db.models import Max args = Argument.objects.all() args.aggregate(Max('rating'))
获取最新的一行数据
max_rated_entry = YourModel.objects.latest('rating')
或是提前在model中指定get_latest_by
from django.db import models class YourModel(models.Model): ..... class Meta: get_latest_by = 'rating' #使用的时候 max_rated_entry = YourModel.objects.latest() return max_rated_entry.details
补充知识: django 如何根据model获取字段的name跟verbose_name
Django中可以根据传入的model来获取对应的字段的name跟verbosname,方便使用一个统一的模板来调用
def get_headers_from_model(modelClass): ''' 根据model类对象获取对象的字段名,显示名 :param modelClass: :return: ''' cols = [] headers = [] for f in modelClass._meta.get_fields(): try: cols.append( f.name ) headers.append( f.verbose_name ) except Exception as ex: pass return headers,cols
以上这篇django 获取字段最大值,最新的记录操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
关于Django Models CharField 参数说明
如下所示: depot_name = models.CharField( u'设备库房名称', blank=True, max_length=20, null=True, # default='', help_text='显示在下方吗', ) 在这里u'设备库房名称',是将depot_name这个英文名重写,blank=True是允许表单验证为空,null=True是允许数据库这个值为空, help_text是提示信息v在这里u'设备库房名称',是将depot_name这个英文名重写,blank
-
Django中对数据查询结果进行排序的方法
在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序. 那么,使用 order_by() 这个方法就可以搞定了. >>> Publisher.objects.order_by("name") [<Publisher: Apress>, <Publisher: O'Reilly>] 跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分: SELECT id, name, address, city,
-
django框架使用orm实现批量更新数据的方法
本文实例讲述了django框架使用orm实现批量更新数据的方法.分享给大家供大家参考,具体如下: 好久没有用django来改版博客了,突然感觉到生疏了.没办法,业余玩python,django,工作用java的原因,也只能如此.在用django写一个类别更新的时候同时更新子类的parentcode, 如果是自己写原生的sql的话,很好解决.但既然用 django 就用 django 的 orm 去实现: 最简单的方法: MyModel.objects.filter(parentcode=ori_
-
python 字典操作提取key,value的方法
python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项 2.访问字典中的值 3.删除字典中的一项 4.遍历字典 5.字典遍历的key\value 6.字典的标准操作符 7.判断一个键是否在字典中 8.python中其他的一些字典方法 9.将两个字典合并 a={'a':1,'b':2,'c':3} b= {'aa':11,'bb':22,'cc':33} #方法一 print(dict(a,**b)) #方法二 这其实就是在内存中创
-
django 获取字段最大值,最新的记录操作
如果是直接在数据库拉取 from django.db.models import Max Argument.objects.all().aggregate(Max('rating')) 如果是从已经存在的model列表获取 from django.db.models import Max args = Argument.objects.all() args.aggregate(Max('rating')) 获取最新的一行数据 max_rated_entry = YourModel.objects
-
在django中查询获取数据,get, filter,all(),values()操作
django 中当我们要查询获取数据时: 数据库中的信息: 如一个学生信息表 students: get方法: students.objects().get(a = b) 其中a为students表中的一个属性如id,name 等 如:students.objects().get(name = '张三') 即获取name为张三的学生的信息 filter 用法与get相同 但是get必须只能取一个数据 filter 能去0,1,多个数据 即上述中如果表中有多个学生都叫张三同名了,get就会报错 同
-
Django记录操作日志与LogEntry的使用详解
前言 LogEntry是在后台开发中经常用到的模块,它在admin是默认开启的. 可以使用LogEntry模块记录所有用户的操作记录.一方面可以用来监督,另一方面可以用来做回滚. 1. 使用LogEntry ModelAdmin本身就有日志记录功能.当新建一个实体(Post.Category.Tag)时,ModelAdmin会创建一条变更日志记录.当修改一条内容时,ModelAdmin又会调用LogEntry来创建一条日志,记录这个变更. ModelAdmin内部提供了两个方法,分别是log_a
-
Django获取model中的字段名和字段的verbose_name方式
定义模型: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30) gameid = models.CharField(u'游戏id',max_length=20) def __str__(self): return self.name 获取字段名和verbose_name: from django.apps import apps def getmodelfield(appname,modelname):
-
django连接mysql数据库及建表操作实例详解
本文实例讲述了django连接mysql数据库及建表操作.分享给大家供大家参考,具体如下: django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找到settIngs里面的database设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 's22',
-
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
代码伺候: 先看如下代码: 例1: message = Message.objects.filter(pk=message_id2) message[0].id = message_id2 message[0].content = content2 message[0].message_type = message_type2 print(message[0].id) print(message[0].content) message[0].save() 可正常从QuerySet中读取数据,并打
-
详解git submodule update获取不到最新提交的代码
今天遇到了一个git submodule update获取不到最新代码的问题,闹了半天原来是自己对git submodule理解不到位引起的.解决了后,感觉虽然没有什么高深的地方,但是不清楚的时候还是需要费时间去查找问题,所以还是在此记录如下. 1.问题描述 同事在共同使用的一个工程里修改了代码,这个工程在我本地的工程中是作为submodule来使用的,但是我在本地执行以下命令却获取不到最新提交的代码. git submodule update --init --recursive 2.问题原因
-
Vue.js使用axios动态获取response里的data数据操作
今天开发时,使用axios返回的response中data有多个数据: 如果是获取cn里的数据的,可以用: response.data.cn 但是需求是根据选择来获取数据的,会发生变化,最开始的想法是,用一个变量来记录需要获取的key: 假设need是需要获取的某个key const dkey = this.need; response.data.dkey 这样发现获取不到数据,这是因为vue.js把dkey当成data里的某一个key了,类似于上面的"cn". 折腾了很久才突然想起,
-
django获取ajax的post复杂对象的实现方法
一.django的request中post对象为空(即获取不到前台ajax传送的post对象) 1.将django的setting中的django.middleware.csrf.CsrfViewMiddleware注释即可. 2.或在from中添加{% csrf %},后台接受的方法上加语法糖:@csrf_exempt,注意添加引用模块 3.若以上操作后还是不行,则将form标签中的action属性去掉(这里只是针对ajax处理,非表单提交) 二.对于ajax的复杂对象,例如[{"id&quo
-
SQL排除重复结果只取字段最大值分享
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条). 复制代码 代码如下: select * from [Sheet1$] awhere ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID) select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$]
随机推荐
- Angular4学习笔记之新建项目的方法
- 总结Java集合类操作优化经验
- JavaScript 捕获窗口关闭事件
- javascript让setInteval里的函数参数中的this指向特定的对象
- asp.net button 绑定多个参数
- 用ASP开"多线程"
- javascript函数中执行c#函数的方法
- c语言实现的带通配符匹配算法
- Android编程使用Fragment界面向下跳转并一级级返回的实现方法
- android使用ItemDecoration给RecyclerView 添加水印
- 安装MySQL 5后无法启动(不能Start service)解决方法小结
- Android EditText常用属性功能汇总
- Node.js开启Https的实践详解
- Java 变量类型及其实例
- js同时按下两个方向键
- spring结合hibernate示例详解
- Office 2007 System 常见问题集第1/3页
- Android中访问sdcard路径的几种方式
- web打印小结
- php mysql Errcode: 28 终极解决方法