如何在 Odoo 12 的 json 控制器中获取特定记录
How to get specific record in json controller in Odoo 12
我的问题说明了一切。
我已经做了一个控制器来搜索特定型号的所有记录。
现在我只想从同一型号中搜索一条记录(通过其 ID)。
我所有记录的控制器是这样的:
@http.route('/get_sales', type='json', auth='user')
def get_sales(self):
sales_rec = request.env['sale.order'].search([])
sales = []
for rec in sales_rec:
vals = {
'id': rec.id,
'name': rec.name,
'partner_id': rec.partner_id,
}
sales.append(vals)
data = {'status': 200, 'response': sales, 'message': 'All sales returned'}
return data
因此,我必须添加才能根据其 ID 获得一条记录。
谢谢。
sale_rec = request.env['sale.order'].search([('id','=',YOURID)])
或
sale_rec = request.env['sale.order'].browse(YOURID)
既return选中对象
首先,像这样更改您的控制器路由:
@http.route(['/get_sales', '/get_sales/<int:order_id>'], type='json', auth='user')
通过这样做,您现在可以选择使用或不使用 order_id
来调用您的路线。
其次,像这样改变你的方法:
def get_sales(self, order_id=None):
现在您可以在您的方法中添加一些逻辑:
if order_id:
domain = [('id', '=', order_id)]
else:
domain = []
sales_rec = request.env['sale.order'].search(domain)
我的问题说明了一切。 我已经做了一个控制器来搜索特定型号的所有记录。
现在我只想从同一型号中搜索一条记录(通过其 ID)。
我所有记录的控制器是这样的:
@http.route('/get_sales', type='json', auth='user')
def get_sales(self):
sales_rec = request.env['sale.order'].search([])
sales = []
for rec in sales_rec:
vals = {
'id': rec.id,
'name': rec.name,
'partner_id': rec.partner_id,
}
sales.append(vals)
data = {'status': 200, 'response': sales, 'message': 'All sales returned'}
return data
因此,我必须添加才能根据其 ID 获得一条记录。
谢谢。
sale_rec = request.env['sale.order'].search([('id','=',YOURID)])
或
sale_rec = request.env['sale.order'].browse(YOURID)
既return选中对象
首先,像这样更改您的控制器路由:
@http.route(['/get_sales', '/get_sales/<int:order_id>'], type='json', auth='user')
通过这样做,您现在可以选择使用或不使用 order_id
来调用您的路线。
其次,像这样改变你的方法:
def get_sales(self, order_id=None):
现在您可以在您的方法中添加一些逻辑:
if order_id:
domain = [('id', '=', order_id)]
else:
domain = []
sales_rec = request.env['sale.order'].search(domain)