ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

odoo12-路由获取附件信息

2021-10-11 09:05:43  阅读:157  来源: 互联网

标签:product obj image odoo12 ids 附件 line id 路由


  • 获取到该产品对应的产品图片以及附件(图片格式的)数据(即在ir.attachment模型中对应的id 然后拼接成url)
  • (‘index_content’, ‘=’, ‘image’):表示附件类型仅为图片的
class DdFzyq(http.Controller):

    @http.route('/sale_quoted', type='http', auth='none', methods=['POST', 'GET'], csrf=False, cors="*")
    def FzyqSaleQuoted(self, **kwargs):
        sale_quoted_id = kwargs.get('id', False)  # 报价单id
        data = {}
        result = []
        sale_quoted_obj = request.env['dd.sale.quoted']
        search_obj = sale_quoted_obj.search([('id', '=', int(sale_quoted_id))])
        result.append({
            'partner_name': search_obj.partner_id.name,
            'partner_user': search_obj.partner_id.child_ids.name,
            'partner_street': search_obj.partner_id._display_address(without_company=True),
            'partner_tel': search_obj.partner_id.phone,
            'partner_email': search_obj.partner_id.email,
        })
        line_ids = search_obj.info_line_ids
        if line_ids:
            result_list = []
            for index, line in enumerate(line_ids):
                product_images = line.product_images
                image_url = []
                if product_images:
                    image_ids = product_images.mapped('id')
                    for image_id in image_ids:
                        image_url.append(request.httprequest.host_url + 'web/image/' + str(image_id) + '/45x45')
                else:
                    image_url.append(request.httprequest.host_url + 'web/image?model=product.product&id=' + str(line.product_id.id) + '&field=image_medium')
                    ir_attachment_obj = request.env['ir.attachment']
                    image_fj_ids = ir_attachment_obj.sudo().search([('res_id', '=', line.product_id.product_tmpl_id.id), ('res_field', '=', None), ('index_content', '=', 'image')]).ids
                    for image_id in image_fj_ids:
                        image_url.append(request.httprequest.host_url + 'web/image/' + str(image_id) + '/45x45')
                result_list.append({
                    'index': index + 1,
                    'name': line.product_id.name,
                    'qty': line.product_qty,
                    'tax_id': line.tax_id.amount,
                    'image_url': image_url,
                    'amount_total': line.amount_total,
                    'remark': line.remark,
                    'description': line.product_id.description,
                })
        else:
            data['code'] = 400
            data['result'] = '该报价单无明细行产品,请添加明细行产品'
            return json.dumps(data, ensure_ascii=False, ).encode('utf-8')
        data['code'] = 200
        data['result'] = result
        data['line'] = result_list
        return json.dumps(data, ensure_ascii=False, ).encode('utf-8')

标签:product,obj,image,odoo12,ids,附件,line,id,路由
来源: https://blog.csdn.net/boy_rookie/article/details/120696093

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有