Openerp 连接xml odoo上的字符串和字段值
切中要害 我有密码Openerp 连接xml odoo上的字符串和字段值,openerp,odoo-8,odoo-9,odoo-10,Openerp,Odoo 8,Odoo 9,Odoo 10,切中要害 我有密码 <t t-set="get_data_remain" t-value="o.execute_sql(' SELECT SUM(a.qty) totalQty, a.product_id, b.name FROM
<t t-set="get_data_remain" t-value="o.execute_sql('
SELECT
SUM(a.qty) totalQty,
a.product_id,
b.name
FROM marketing_forecast_remain a
INNER JOIN product_template b
ON a.product_id = b.id
WHERE a.marketing_forecast_id = 65
GROUP BY a.product_id, b.name
ORDER BY b.name
;
')"/>
将来
谁能帮帮我
提前谢谢
*如果我错了,请纠正我你可以试试
<t t-set="get_data_remain" t-value="o.execute_sql('
SELECT
SUM(a.qty) totalQty,
a.product_id,
b.name
FROM marketing_forecast_remain a
INNER JOIN product_template b
ON a.product_id = b.id
WHERE a.marketing_forecast_id = %s
GROUP BY a.product_id, b.name
ORDER BY b.name
;
') %value"/>
<t t-set="get_data_remain" t-value="o.execute_sql('
SELECT
SUM(a.qty) totalQty,
a.product_id,
b.name
FROM marketing_forecast_remain a
INNER JOIN product_template b
ON a.product_id = b.id
WHERE a.marketing_forecast_id = value
GROUP BY a.product_id, b.name
ORDER BY b.name
;
')"/>
replace value with your field
用字段替换值
您可以试试
<t t-set="get_data_remain" t-value="o.execute_sql('
SELECT
SUM(a.qty) totalQty,
a.product_id,
b.name
FROM marketing_forecast_remain a
INNER JOIN product_template b
ON a.product_id = b.id
WHERE a.marketing_forecast_id = %s
GROUP BY a.product_id, b.name
ORDER BY b.name
;
') %value"/>
<t t-set="get_data_remain" t-value="o.execute_sql('
SELECT
SUM(a.qty) totalQty,
a.product_id,
b.name
FROM marketing_forecast_remain a
INNER JOIN product_template b
ON a.product_id = b.id
WHERE a.marketing_forecast_id = value
GROUP BY a.product_id, b.name
ORDER BY b.name
;
')"/>
replace value with your field
用字段替换值
[已解决]
我将查询移动到.py,这样我就不需要努力用xml创建条件
def execute_sql(self):
query = "SELECT SUM(a.qty) totalQty, a.product_id, b.name " \
"FROM marketing_forecast_remain a " \
"INNER JOIN product_template b " \
"ON a.product_id = b.id " \
"WHERE a.marketing_forecast_id = %s " \
"GROUP BY a.product_id, b.name " \
"ORDER BY b.name;"
param = [self.id]
self._cr.execute(query,param)
_hasil = self._cr.dictfetchall()
return _hasil
%s这是我设置的参数,然后根据此代码给出值
param = [self.id]
self._cr.execute(query,param)
因此,在我的视图(xml)中,我只需要像这样调用该方法
<t t-set="get_data_remain" t-value="o.execute_sql()"/>
谢谢。[已解决] 我将查询移动到.py,这样我就不需要努力用xml创建条件
def execute_sql(self):
query = "SELECT SUM(a.qty) totalQty, a.product_id, b.name " \
"FROM marketing_forecast_remain a " \
"INNER JOIN product_template b " \
"ON a.product_id = b.id " \
"WHERE a.marketing_forecast_id = %s " \
"GROUP BY a.product_id, b.name " \
"ORDER BY b.name;"
param = [self.id]
self._cr.execute(query,param)
_hasil = self._cr.dictfetchall()
return _hasil
%s这是我设置的参数,然后根据此代码给出值
param = [self.id]
self._cr.execute(query,param)
因此,在我的视图(xml)中,我只需要像这样调用该方法
<t t-set="get_data_remain" t-value="o.execute_sql()"/>
谢谢。我在编程时遇到了这个错误:“sintaks error”pada atau didekat«%»第1行:。。。其中a.marketing\u forecast\u id=%s…然后尝试直接给出值,请参阅我更新的anwservalue,我想在conditions中设置为操作数,它是来自odoo字段的值,而不是我选择的两个表之间的字段,我在a.marketing\u forecast\u id=o.id(我的意思是o.id是我的字段)的情况下尝试了这种方法我在编程错误时遇到了这个错误:“sintaks error”pada atau didekat«%»第1行:。。。其中a.marketing\u forecast\u id=%s…然后尝试直接给出值,请参阅我更新的anwservalue,我想在conditions中设置为操作数,它是来自odoo字段的值,而不是我选择的两个表之间的字段,我在a.marketing\u forecast\u id=o.id(我的意思是o.id是我的字段)的情况下尝试了这种方法