你好我正在一个网站上工作并且有一个问题,为什么它会以这种方式返回?
我希望从{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']
如果这不是这个plz的django语法帮助获得正确的
答案 0 :(得分: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