Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
21616 Lượt xem

How can i add a field that upload file (.doc .pdf .xls) ? and how i can download this file after uploading it ?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hello,

You can use Binary fields.

It stores all kinds of files like .doc, .excel, .xls, etc

Once you define the field, you will have a button near the field to Upload your file.


    field_name = fields.Binary(string=’Name of field’ )


    You can download it again by simply click on that field.

    Check the below links for getting more information about adding new fields.

    Check this Blog for adding fields by code: https://www.cybrosys.com/blog/adding-custom-fields-to-existing-views-in-odoo-v12

    Check this video for adding field without code: https://www.youtube.com/watch?v=uSPS8l0kbDE

    Edit: 

    for V8, follow like this. 


    _columns = {

    'binary_field':fields.binary('File'),

    'file_name':fields.char('Filename'),

    }

    And in the form view in your xml:

    <field name="filename" invisible="1"/>

    <field name="binary_field" filename="file_name"/>



    Thanks & Regards

    Avinash N K

    Ảnh đại diện
    Huỷ bỏ
    Tác giả

    it works but when i try to download the file , its download with file extension, without .pdf or .xls

    I update the answer for v8.

    Câu trả lời hay nhất
    class mrp(models.Model):
    _inherit = 'mrp.production'
    upload_file = fields.Binary(string='Upload file')


    record id="mrp_production_form_view_upload_file_view" model="ir.ui.view">
    name="name">mrp.production.form
    name="model">mrp.production
    name="inherit_id" ref="mrp_extension.mrp_production_form_view_inherited"/>
    name="arch" type="xml">
    expr="//field[@name='name']" position="after">
    name="upload_file"/>


    Ảnh đại diện
    Huỷ bỏ
    Bài viết liên quan Trả lời Lượt xem Hoạt động
    5
    thg 10 23
    7544
    1
    thg 8 19
    4253
    0
    thg 10 19
    2738
    0
    thg 6 16
    2687
    1
    thg 3 15
    4896