You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Django ORM获取user_info表中所有不重复的name值?

获取Django ORM中不重复的name字段值

嗨,很高兴能帮你解决这个问题!要实现和SELECT distinct(name) from user_info等价的Django ORM查询,其实很简单,ORM提供了直接对应的方法来处理去重和指定字段的需求。

针对你的user_info模型,这里有两种常用的实现方式:

方法1:返回单个值的列表(推荐,符合你要的"所有姓名"的直观结果)

使用values_list()配合distinct(),再加上flat=True参数,这样会直接返回一个包含所有不重复name的字符串列表:

unique_names = user_info.objects.values_list('name', flat=True).distinct()

这个查询对应的SQL就是你熟悉的SELECT DISTINCT name FROM user_info,返回的结果类似['Alex', 'Bob', 'Charlie'],非常方便直接使用。

方法2:返回字典列表

如果你需要保留字段名的键值对结构,可以用values()代替values_list():

unique_name_dicts = user_info.objects.values('name').distinct()

返回的结果是字典组成的列表,比如[{'name': 'Alex'}, {'name': 'Bob'}],适合需要明确字段名的场景。

小提醒

按照Django的命名惯例,模型类名应该采用驼峰式写法(比如UserInfo而非user_info),这样更符合社区规范,也能避免和其他变量名混淆哦~

内容的提问来源于stack exchange,提问作者Souvik Ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:33:33