2015-09-11 4 views
0

У меня есть поле, я помещаю его в readonly, когда я нажимаю на save, поле кажется пустым, когда я удаляю параметр readonly, тогда он работает нормально, но мне нужно, чтобы мой поле должно быть только в режиме чтения. неМоя запись не может быть сохранена на openerp

в XML:

<group col="2"> 
    <field name="st_id" on_change="onchange_stu(st_id)/> 
    <field name="standard_id" readonly="1"/> 
    <field name="division_id" readonly="1"/> 
    <field name="medium_id" readonly="1"/> 
</group> 
+0

Что вы делали? введите код. –

+0

Здравствуйте @JainikPatel Я добавил код на свой вопрос, когда я выбираю st_id другие поля, но когда я нажимаю на запись сохранения, в этих полях пуст – sacamoto

+0

ваш файл model.py, все поля должны быть обязательными = false –

ответ

1

Когда вы сделаете любое поле только для чтения = «1» он не будет проходить какие-либо методы ORM для операции, он больше не будет доступно, чтобы сделать такую ​​операцию, как это только для чтения, так цель этого поля - отображать только экран в изменяемой форме.

Однако альтернативное решение доступно в odoo приложение, Access readonly in ORM methods

только для чтения поля предназначены для информативных целях, поэтому они не сохраняются в OpenERP стороне клиента при сохраняющихся записи, это известно ограничение.

Существует много обходных решений для этого (например, использование второго невидимого поля для передачи фактического значения), но, вероятно, лучше вообще избегать этих случаев. Как правило, стараются использовать только для чтения только флаг для:

  • функциональных полей (это по умолчанию в любом случае)
  • поля, изменяемые бизнес-логики/рабочий процесс, но не пользовательский интерфейс (как правило, состояние поля)
  • поля, которые отключены/игнорируются

Это все еще отлично обновить их через on_change звонки, но не полагаться на этот механизм для хранения значения.

+0

Спасибо u! проблема решена :) – sacamoto

Смежные вопросы