2010-03-26 90 views
10

希望这是有道理...Django的查询来获取一组独特的基于特定列的值

有没有一种简单的方法来从基于单个列的值是明显独特的表返回一组值?什么我希望的是一样的东西:

SegCode.query.filter(ref.unique()).only('ref') 

这不是真正的代码,但我希望有一些简单的功能,在那里,将完成这个...


例如表可能看起来像:

1 | abc | 123 | AAA 
2 | def | 456 | AAA 
3 | ghi | 789 | BBB 
4 | jkl | 012 | CCC 
5 | mno | 345 | CCC 
6 | pqr | 678 | CCC 
7 | stu | 901 | DDD 
8 | vwx | 234 | DDD 

于是,我想了一组带有回来:[AAA, BBB, CCC, DDD]

回答

14
SegCode.objects.values_list('ref', flat=True).distinct() 

我觉得这是你以后,你的问题是不是真的清除

+0

还没有尝试过你的代码,但我只是更新了一些更多的信息,希望澄清我试图完成什么。 – kafuchau 2010-03-26 20:27:35

+0

好了,根据你的编辑,我的代码正是你想要的 – priestc 2010-03-26 20:29:13

+0

这只有在我的SegCode类是Django模型时才有效,是正确的吗?如果我的课程是一个Elixir实体,那意味着我必须使用Querysets来执行查询呢?我问,因为我得到一个错误:类型对象'SegCode'没有属性'对象' – kafuchau 2010-03-26 20:59:46