如何在函数中创建odoo 9中的sql语句?
我想调用my_function并打印数据库中的所有记录。
例如:从time_start> ='TODAY''
的时间选择time_startdef my_function(self):
result = []
for data in self.browse():
cr.execute('''select
time_start
from
time
where
time_start >= 'TODAY''')
print all result line by line
答案 0 :(得分:1)
尝试
def my_function(self):
result = []
for data in self.browse():
cr.execute('''select
time_start
from
time
where
time_start >= 'TODAY''')
for line in cr.dictfetchall():
print line["time_start"]
print line
cr.dictfetchall()
返回一个dicts列表。此列表中的每个元素都代表查询结果中的一行。
在我的解决方案中,我遍历此列表,可以通过数据库中的fieldname直接访问该字段。
请注意,在循环中使用查询。可能有更好的方法。
编辑:尝试search
而不是browse
。 browse
为您提供与给定ID相匹配的记录。
def my_function(self):
result = []
for data in self.search([]):
cr.execute('''select
time_start
from
time
where
time_start >= 'TODAY''')
for line in cr.dictfetchall():
print line["time_start"]
print line