我在数据库中共有3行,其中一行是ID = 1,在控制台显示3行而不是一行!
@api.multi
def call_func(self):
result = []
for data in self.search([]):
self._cr.execute('''select distinct
date
from
mytable
WHERE id = 1''')
for line in self._cr.dictfetchall():
print line["date"]
我添加了明显但不起作用。
输出是:
2016-01-01 00:00:00
2016-01-01 00:00:00
2016-01-01 00:00:00
我需要2016-01-01 00:00:00
答案 0 :(得分:1)
SQL语句看起来不错。您是否直接使用客户端在DB服务器上执行该语句?你只得到一张唱片吗?
如果是,我认为您的问题可能在于self.search([])
。这是你写的功能吗?那会对记录进行搜索吗?如果是这样,您是否有可能基于空字符串进行搜索并返回表格的所有3条记录?
如果self.search([])返回一个包含3个元素的数组,那么你只需在同一行上执行SELECT distinct
三次。
如果这是您的问题,那么您可以通过删除此部分来修复它:
for data in self.search([]):