Python Peewee - 如何使用distinct

15

我正在尝试使用Peewee让这段代码正常工作:

distinct_list = QSales.select(QSales.account, QSales.tax_code).distinct().where(QSales.trans_num == 3717)
print distinct_list

但是print命令的结果是:

<class '__main__.QSales'> SELECT DISTINCT t1.`Account`, t1.`Tax_Code` FROM `q_sales` AS t1 WHERE (t1.`Trans_#` = %s) [3717]

在MySQL编辑器中运行上述的select语句(将打印结果复制到编辑器中)会返回正确的结果。

我还尝试过:

distinct_list = QSales.select(fn.Distinct(QSales.account, QSales.tax_code)).where(QSales.trans_num == 3717)

但是我得到了相同的结果

我做错了什么?

谢谢。


你能澄清一下你的帖子吗?你贴了一些SQL代码并写道它返回了“正确的结果”...如果它是正确的,问题在哪里?如果它是不正确的,你想得到什么样的结果? - coleifer
谢谢@coleifer。我会编辑我的问题,我也想出了应该做什么,所以我会把答案包含在内。 - Erans
1个回答

22
睡了一晚上后,我意识到那段代码应该是这样的:
distinct_list = QSales.select(QSales.account, QSales.tax_code).distinct().where(QSales.trans_num == 3717)
for item in distinct_list:
    print item.account
    print item.tax_code

现已关闭,谢谢。


2
很高兴你解决了它。 - coleifer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接