model一般都是有多个属性的,但是很多时候我们又只需要查询特定的某一个,这个时候可以用到values和values_list 利用values查询 fromattendence.modelsimportEmployeefromattendence.modelsimportEmployeeIP#获取一个字段ipList = EmployeeIP.objects.values("IP").first()
通过QuerySet 会返回model的所有字段,通过obj.field_name 即可获取对应字段的数据 values() :获取某一个或者某几个字段的数据 指定字段 使用values() 指定参数可以仅仅返回相应字段的字典列表,如: name_dict_list = Project.objects.values('name') 则name_dict_list = <QuerySet [ {'name': 'tets1'}, { ...
values_list() distinct() using() 1、reverse() 对QuerySet 返回的结果进行反转,使用方法如下: from blog.models import Blog Blog.objects.filter(id__gte=2).reverse() 通过reverse() 方法,可以使原本是某个顺序的数据顺序倒转返回。 2、values() 如果不使用 values() 方法,QuerySet 会返回 model 的所有...
2、values() 如果不使用 values() 方法,QuerySet 会返回 model 的所有字段,通过 obj.field_name 即可获取。 比如: blog_obj=Blog.objects.all()[0]blog_obj.name 1. 2. 如果我们在操作的时候仅仅想获取某一个或者某几个字段数据,则可以使用 values() 函数。 指定字段 如果是使用 values() 方法,则会仅仅...
当通过values_list循环取值的时候,如下: ret = models.UserType.objects.all().values_list(‘nid‘) print(type(ret), ret) 1. 2. 查询结果: <class ‘django.db.models.query.QuerySet‘> <QuerySet [(1,), (2,), (3,)]> 1. 依然是queryset,但是结果就是列表中包含的元组,values和values_list...
问Django:理解.values()和.values_list()用例ENvalues()和values_list()都是作为特定用例的优化:检索...
*values(field)返回一个ValueQuerySet,一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列。 articles = Article.objects.all() # 获取所有Article对象 articles <QuerySet [<Article: python数据类型>, <Article: Python快速入门>, <Article: MySQL快速入门>, <Article: My...
from django.db.models import Countevents_this_month = Event.objects.values('created_by', 'kind'...
objects.values_list('name', flat=True) <QuerySet ['Apple', 'Pear']> unique 如果设置unique=True,则该field不允许有重复值。 参考链接: https://docs.djangoproject.com/en/1.11/topics/db/models/#field-options 关联关系 外键关联 假设artist model对应mysql表为 myapp_album, Musician model对应的mysql...
values 或者 values_list 放在annotate后面:annotate 表示直接以当前表的pk执行分组,values 或者 values_list 表示查询哪些字段, 并且要将 annotate 里的聚合函数起别名,在 values 或者 values_list 里写其别名。 准备数据和创建模型 models.py classEmp(models.Model): ...