1

您好,我正在一个网站上工作,并且有一个问题,为什么它会返回原来的样子?

我想从 {table} 中选择不同的“类别”

我尝试了有和没有 Flat = True

In [27]: q = EyeMakeUpWaxing.objects.values_list('category', flat=True).distinct()

In [28]: print q.query
SELECT DISTINCT `eye_make_up_waxing`.`category`, `eye_make_up_waxing`.`created_at` FROM `eye_make_up_waxing` ORDER BY `eye_make_up_waxing`.`created_at` ASC

In [29]: print q
[u'EYE_BEAUTIFICATION', u'EYE_BEAUTIFICATION', u'EYE_BEAUTIFICATION', u'MAKE_UP', u'MAKE_UP', u'MAKE_UP', u'MAKE_UP', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON', u'ENHANCER_ADD_ON']

如果这不是这个请帮助获得正确的 django 语法

4

1 回答 1

1

那里有一个排序语句导致问题(来自您的模型/其他地方定义的默认排序)。

通过清除订购order_by()

EyeMakeUpWaxing.objects.order_by().values_list('category', flat=True).distinct()

排序迫使 SELECT created_at 使每个条目都不同。

https://docs.djangoproject.com/en/dev/ref/models/querysets/#distinct

于 2013-01-15T00:38:20.893 回答