【发布时间】:2019-12-13 16:19:07
【问题描述】:
有一个简单的 SQL 表,它有 3 列:id、sku、last_update 和一个非常简单的 SQL 语句:SELECT DISTINCT sku FROM product_data ORDER BY last_update ASC
上述 SQL 语句的 django 视图代码是什么?
此代码:q = ProductData.objects.values('sku').distinct().order_by('sku')
返回 145 个结果
而此语句:q = ProductData.objects.values('sku').distinct().order_by('last_update')
返回超过 1000 个结果
为什么会这样?有人可以帮忙吗?
提前非常感谢!
【问题讨论】:
-
如果查询已经下单了,还需要在视图中再下单吗?
-
表示通过点击表头来管理排序的表。因此,根据“排序状态”,我需要按“sku”或“last_update”对其进行排序。但我很惊讶 Django ORM 不能轻松处理如此简单的 SQL 语句。例如,通过 SQLalchemy 来做这件事太容易了……
-
哦,我明白了。好吧,在我看来,django 正确地认为,要按 sku 排序视图,输出中必须存在 sku 字段,这会破坏您的 distinct()。