61
我正在努力讓自己的頭部圍繞着Django的ORM。我想做的事就是我的表中的字段中獲得不同值的列表....下面的一個等價的:從表格字段中選擇不同的值
SELECT DISTINCT myfieldname FROM mytable
(或者)
SELECT myfieldname FROM mytable GROUP BY myfieldname
我d至少喜歡在使用原始sql之前使用Django的方式。 例如,對於一個表:
ID,街道,城市
1,主街,赫爾
2,其他街道,赫爾
3,比博路,萊斯特
4,Another Way,Leicester
5,High Street,Londidium
我想獲得:
赫爾,萊斯特,Londidium。
其實這是有效的。然而!我無法使它適用於我的所有模型。 Weidly,它對一些而不是其他人有效。對於那些有Meta定單的人來說,這是行不通的。所以,你必須首先清除查詢集上的順序。 models.Shop.objects.order_by()。values('city')。distinct() – alj 2010-03-18 10:16:46
值得注意的是'values_list'實際上並不返回一個列表。它返回類似於查詢集的東西。我發現總是在values_list調用中使用list()會很有用。 – dheerosaur 2012-11-19 07:14:40
'values_list'返回一個迭代器的ValuesListQuerySet。投到列表可能很方便,但也可以在所有行必須同時進行評估時發揮性能,特別是對於大型數據集。 – 2012-11-27 13:52:43