1.values() print(Question.objects.values('title')) #得到的是一个字典 <QuestionQuerySet [{'title': '查询优化之select_related与prefetch_related - 简书'}, {'title': '你们都是怎么学 Python 的?'}]> 2.values_list() print(Question.objects.values_list('title')) # 等到是一个元组 <Quest…
只需一招让你分清QuerySet对象,和用户字典对象 article_list = models.Article.objects.filter(blog=blog) user_obj = models.Userinfo.objects.filter(username=username).first() 上面的两个查询不太懂 article_list是可迭代的QuerySet对象,支持for循环 user_obj这个是用户字典对象,不支持for循环 所有支持for循环的数据类型必须是可迭代数据类型…
django获取字段列表(values/values_list/flat) values方法可以获取number字段的字典列表 values_list可以获取number的元组列表 values_list方法加个参数flat=True可以获取number的值列表…
class Building(models.Model): corporation = models.ForeignKey('company.Corporation', verbose_name=u'学校', related_name='buildings') number = models.CharField(u'楼栋编号', max_length=10, unique=True, db_index=True) create_time = models.DateTimeField(u'创建时间…
在学习Django聚合与分组查询中,发现value与annotate的顺序不同时,查询结果大相径庭,经过一下午的研究,终于弄明白了,现在分享给大家,先上结论: 结论 value在annotate前面时,相当于group by,即models.表名.objects.values('group by 字段').annotate(统计字段) value放在annotate后面时,相当于select annotate前面没有value时,默认按当前表的主键分组 验证 表格准备 查询 value放在前面时…
Django查询一个权限中包含哪些用户 Django的Permission对象中没有直接查询相关用户的信息,而都是通过User对象来查询某个用户有哪些权限,例如: user.objects.get(username='admin').user_permissions.values() 但是有时候你想根据权限,来查找哪些用户具有此权限,那么下面方法能解决这个问题: from django.contrib.auth.models import Permission, User p = Permiss…
阅读目录 F查询和Q查询 事务 一.F查询和Q查询 1.F查询 查询前的准备 class Product(models.Model): name = models.CharField(max_length=32) price = models.DecimalField(max_digits=10, decimal_places=2) # 库存数 inventory = models.IntegerField() # 卖出数 sale = models.IntegerField() def __s…
Django数据查询中对字段进行排序   第一种方法:使用order_by进行排序 Articlelist = Article.objects.filter(**kwargs).order_by('nid') Articlelist = Article.objects.filter(**kwargs).order_by('-nid') #倒序 Articlelist = Article.objects.order_by('-nid') 可以使用两个字段进行排序:用在第一个字段相等,用第二个来排序…
实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡.居住地.以及到过的城市.数据库设计如下: Models.py 内容如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 from django.db import models    class Province(models.Model):  name = models.CharField(max_length=10)  def __unicode__(self)…
from django.db.models import Max, Min, Sum, Avg, Count, Q, F Django中的F和Q函数 一.F介绍 作用:操作数据表中的某列值,F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用,不用获取对象放在内存中再对字段进行操作,直接执行原生产sql语句操作. 通常情况下我们在更新数据时需要先从数据库里将原数据取出后方在内存里,然后编辑某些属性,最后提交.例如:(先在业务逻辑层完成计算, 后再db层完成一次性更新) obj…