更改上传的二进制文件字段的文件名

Changing the Filename of a Uploaded Binary File Field

我正在使用 Odoo8

我有一个问题,我使用 fields.binary 在 Odoo 中上传了一个 file/s。但是当我尝试下载它时,上传文件的 filename 是型号名称。

是否可以更改文件的filename

其次,字段中的过滤器属性不起作用。

我对此matter/problem的解决方案,首先创建一个计算字段及其函数

.py

filename = fields.Char('file name', readonly = True,store = False,compute ='legacy_doc1_getFilename')

@api.one
def legacy_doc1_getFilename(self):

    if len(self.employee_number) > 0:
        self.filename = str(self.employee_number) + '_ConfidentialReports.pdf'
    else:
        self.filename = 'filename_ConfidentialReports.pdf'

并在 XML 文件中添加属性文件和字段

<page string="Legacy Documents">
    <group>
        <field name="filename" readonly="1" invisible="1"/>
        <field name="legacy_doc_1" filename="filename"/>
    </group>
</page>

我遇到了同样的问题,下面的解决方案解决了它:

class MyModel(models.Model):
    _name = 'my.model'

    name = fields.Char(string='Name')
    image = fields.Binary(string='Image', required=True)
    image_filename = fields.Char(string='Image Filename')

在xml中:

<field name="name" />
<field name="image_filename" invisible="1"/>
<field widget="binary" height="64" name="image" filename="image_filename" />

结果如下: