2015-09-29 2 views
4

Я использую Odoo8Изменение имени файла в Загрузил Binary File Field

У меня есть вопрос, который я использовал fields.binary, чтобы загрузить файл/с в Odoo. Но когда я пытаюсь загрузить его, это имя модели. filename загруженного файла.

Можно ли изменить файл filename?

И второй атрибут фильтров в полях не работает.

+0

Можете ли вы поделиться код, чтобы мы могли помочь вам лучше. –

ответ

2

Мое решение в этом вопросе/проблеме, создать первую поле вычислений и его функции

.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> 
+0

Хорошая работа !, было бы очень полезно. –

0

У меня была такая же проблема, и следующее решение sovled:

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" /> 

И вот результат:

enter image description here