栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在django中选择DISTINCT各个列?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在django中选择DISTINCT各个列?

从数据库中获取不同列名列表的一种方法是与

distinct()
结合使用
values()

对于你的情况,可以执行以下操作以获取不同类别的名称:

q = ProductOrder.objects.values('Category').distinct()print q.query # See for yourself.# The query would look something like# SELECt DISTINCT "app_productorder"."category" FROM "app_productorder"

这里有几件事要记住。首先,这将返回

ValuesQuerySet
与的行为不同
的QuerySet
。当你说出q(上面的)第一个元素时,你会得到一个字典,而不是的实例
ProductOrder

其次,最好阅读文档中有关

using
的警告说明
distinct()
。上面的例子可以工作,但所有的组合
distinct()
,并
values()
可能不会。

PS:在模型中的字段中使用小写字母是一个好主意。在你的情况下,这意味着重写模型,如下所示:

class ProductOrder(models.Model):    product  = models.CharField(max_length=20, primary_key=True)    category = models.CharField(max_length=30)    rank = models.IntegerField()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号