文件上传 Odoo 10 自定义插件

File Upload Odoo 10 Custom Addons

您好,我在自定义模块上使用自定义向导上传文件 这是我的代码

class BillWizardUpload(models.TransientModel):
    _name = "uploadbillpostfinance.wizard"
    _description = "For XML Postfinance"

    data = fields.Binary(string="Upload File")
    file_name = fields.Char(string="File Name")

    @api.multi
    def import_file(self):

        # your treatment
        return {}

我的XML文件

<record id="upload_xml_view" model="ir.ui.view">
    <field name="name">Upload XML PostFinance</field>
    <field name="model">uploadbillpostfinance.wizard</field>
    <field name="arch" type="xml">
        <form>
            <group>
                <field name="data" filename="file_name" />
                <field name="file_name" invisible="1"/>
            </group>

            <footer>
                <button name="import_file" string="Import" type="object"  class="oe_highlight" />
                or
                <button string="Cancel" class="oe_link" special="cancel" />
            </footer>
        </form>
    </field>
</record>

我对函数导入文件中的待办事项有点困惑,我要上传的文件是 XML 并且想直接处理 xml 而不是将其保存到数据库或提交任何想法或示例如何做?

关注

丹尼尔

您不需要添加功能。在 Odoo 中只需要一个二进制字段来上传文件。

我设法通过使用像这样的正常 get/post 请求解决了这个问题

 @api.multi
def import_file(self,context=None):
    decoded_data = base64.b64decode(self.data)
    xml_filelike = io.BytesIO(decoded_data)
    do what you want with file here