Возможно ли обновить представление модели программно в рамках функции ограничения в Odoo 8?

Я написал ограничение для определенного поля, и я хочу обновить представление календаря, когда сбой не выполняется.

Ниже приведен код, который я пробовал

def _check_date_drag(self, cr, uid, ids, context=None):
        mom_obj = self.pool.get('mom.meeting')
    res = {}
    for item in self.browse(cr, uid, ids):
        mom_ids = mom_obj.search(cr, uid, 
[('meet_ref','=',item.number), ('mdt','<',item.start_datetime)], 
context=context)
        if mom_ids:
            res = {
                  'view_type': 'form',
                'view_mode': 'form',
                'res_model': 'calendar.event',
                'type': 'ir.actions.act_window',
                'target': 'new',
            }
            return False and res
    return True



    _constraints = [

        (_check_date_drag, 'MOM is already created for this calendar 
event! Kindly refresh the page to discard the changes!', 
['start_datetime']),
    ]

Если ограничение сбой (т.е. при возврате False), я хочу обновить представление календаря.

Кто-нибудь с идеей любезно, пожалуйста, помогите мне с некоторой идеей. Я хочу перетащить это (Зеленая стрелка) событие встречи Я хочу перетащить это событие (Зеленая стрелка) После перетаскивания сообщение Constraint отобразит После перетаскивания появится сообщение Constraint Когда я нажимаю кнопку OK предупреждающего сообщения, событие не перемещается в исходное место Когда я нажимаю кнопку "ОК" предупреждающего сообщения, событие не перемещается в исходное место

Я хочу, чтобы календарь перезагрузился, когда я нажимаю кнопку OK

Ответ 1

Вы можете попробовать один из следующих (непроверенных):

1) Добавьте несколько javascript, чтобы обновить представление при закрытии диалога.

2) Устраните ошибку ограничения и верните действие, чтобы отобразить тот же вид (в основном обновляя страницу). Передайте информацию об ошибке в контексте и сделайте представление, отображающее ошибки в контексте в конце. Таким образом, когда выполнение останавливается из-за ошибки, обновленная страница уже будет там.

Надеюсь, что это сработает для вас.