我是Odoo(openERP)和python的新手。我有一个http.Controller,我正在尝试检索一个模板,该模板应包含openERP数据库中的一些对象,更具体地说是fleet_vehicle_log_fuel_obj。 通常self.pool.get()方法应该这样做,但在控制器中它不起作用。
我正在尝试将一些对象发送到客户端并使用javascript处理它们。
这是我的控制器:
import json
from openerp import SUPERUSER_ID, pooler
from openerp.addons.web import http
from openerp.addons.web.http import request
class google_map(http.Controller):
@http.route(['/google_map'], type='http', auth="public", website=True)
def google_map(self, *arg, **post):
cr, uid, context = request.cr, request.uid, request.context
fleet_vehicle_log_fuel_obj = self.pool.get('fleet_vehicle_log_fuel');
#fleet_vehicle_log_fuel_obj = pool.get('fleet_vehicle_log_fuel')
ids = fleet_vehicle_log_fuel_obj.search(cr, uid, [])
return request.website.render("fleet.google_map", json.dumps(ids))
我得到的错误是'google_map'对象没有属性'pool'。如何获取某种类型的所有对象并将其发送给客户端?
答案 0 :(得分:3)
我知道我来得太晚了,但这对某人有帮助。
http
库允许您从控制器访问模型,因此您应该写:
import openerp.http as http
fleet_vehicle_log_fuel_obj = http.request.env['fleet_vehicle_log_fuel']
然后,您将可以使用fleet_vehicle_log_fuel_obj
。
答案 1 :(得分:1)
试试这个:
Autodesk.Viewing.Document.getSubItemsWithProperties
或强>
pool = request.registry
model_obj = pool['your.model']
希望这会对你有帮助......
答案 2 :(得分:0)
我还没有对此进行测试,但请尝试添加导入:
将openerp.pooler导入为pooler
然后使用代码
osv_pool = pooler.get_pool(dbname)
osv_pool.get(模型)
我是从openerp/osv/osv.py