Ограничения правил записи Odoo
Что я хочу, чтобы произошло:
Когда логическое значение no_edit равно False, а user_id равно false или текущий пользователь, пользователь должен иметь возможность редактировать запись.
Что на самом деле происходит:
Записи всегда ограничены для редактирования.
Python код полей:
user_id = fields.Many2one(
comodel_name = 'res.users',
string = 'User ID',
readonly = True,
)
no_edit = fields.Boolean(
string = "No Edit",
copy = False,
default = False
)
Домен:
['&', '|', ('no_edit', '=', False), ('user_id', '=', False), ('user_id', '=', user.id)]
заранее спасибо
1 ответ
Решение
Домен должен быть:
[('no_edit', '=', False), '|', ('user_id', '=', False), ('user_id', '=', user.id)]
Тот, который вы сделали, оценивает первую часть как оператор &:
('user_id', '=', False) & ('user_id', '=', user.id)
Поскольку он оценивается с помощью "Обратной польской нотации", для получения дополнительной информации вы можете найти или ввести эту ссылку: