def update_model(self, form, model): """ Update model from form. :param form: Form instance :param model: Model instance """ try: with self.session.begin_nested(): form.populate_obj(model) self._on_model_change(form, model, False) except Exception as ex: if not self.handle_view_exception(ex): flash(gettext('Failed to update record. %(error)s', error=str(ex)), 'error') log.exception('Failed to update record.') transaction.doom() return False else: self.after_model_change(form, model, False) return True
def create_model(self, form): """ Create model from form. :param form: Form instance """ try: with self.session.begin_nested(): model = self.model() form.populate_obj(model) self.session.add(model) self._on_model_change(form, model, True) self.session.flush() except Exception as ex: if not self.handle_view_exception(ex): flash(gettext('Failed to create record. %(error)s', error=str(ex)), 'error') log.exception('Failed to create record.') transaction.doom() return False else: self.after_model_change(form, model, True) return model