突然有个需求说需要编写一个上传pdf 接口
首先需要准备如下 xx.xx模型 module 部分 如下:
attachment_count = fields.Integer(compute='_compute_attachment_count', string='附件数量', required=True)
def _compute_attachment_count(self):
# 附件数量计算
attachment_data = self.env['ir.attachment'].read_group(
[('res_model', '=', 'xx.xx.你的模型'), ('res_id', 'in', self.ids)], ['res_id'], ['res_id'])
attachment = dict((data['res_id'], data['res_id_count']) for data in attachment_data)
for expense in self:
expense.attachment_count = attachment.get(expense.id, 0)
def attachment_image_preview(self):
"""附件上传"""
self.ensure_one()
# domain可以过滤指定的附件类型 (mimetype)
domain = [('res_model', '=', self._name), ('res_id', '=', self.id)]
return {
'domain': domain,
'res_model': 'ir.attachment',
'name': u'附件管理',
'type': 'ir.actions.act_window',
'view_id': False,
'view_mode': 'kanban,tree,form',
'view_type': 'form',
'limit': 20,
'context': "{'default_res_model': '%s','default_res_id': %d}" % (self._name, self.id)
}
view部分 代码如下
<sheet>
Odoo中PDF上传和下载接口实现,

文章介绍了在Odoo中如何实现上传PDF文件到ir.attachment模型,并提供了两个下载接口的示例,包括通过文件名搜索和直接从数据库获取附件数据的方式。
最低0.47元/天 解锁文章
819

被折叠的 条评论
为什么被折叠?



