From 247bc4aaa1f307ea298a13ba4b87d49f43f36bbe Mon Sep 17 00:00:00 2001 From: mcm-odoo Date: Mon, 9 Sep 2019 11:52:32 +0000 Subject: [PATCH] [IMP] survey: little optimization for user_input_line creation/update Before: The method _get_mark called Model.exists() just after calling Model.browse This process makes 2 calls to database to do almost the same thing Now: Removed the method _get_mark and directly call Model.browse FP feedback Task 2066646 --- addons/survey/models/survey_user.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/addons/survey/models/survey_user.py b/addons/survey/models/survey_user.py index 8cfa9e9dde4..a8dcb51e6bd 100644 --- a/addons/survey/models/survey_user.py +++ b/addons/survey/models/survey_user.py @@ -253,23 +253,18 @@ class SurveyUserInputLine(models.Model): if not fields_type.get(uil.answer_type, True): raise ValidationError(_('The answer must be in the right type')) - def _get_mark(self, value_suggested): - label = self.env['survey.label'].browse(int(value_suggested)) - mark = label.answer_score if label.exists() else 0.0 - return mark - @api.model_create_multi def create(self, vals_list): for vals in vals_list: value_suggested = vals.get('value_suggested') if value_suggested: - vals.update({'answer_score': self._get_mark(value_suggested)}) + vals.update({'answer_score': self.env['survey.label'].browse(int(value_suggested)).answer_score}) return super(SurveyUserInputLine, self).create(vals_list) def write(self, vals): value_suggested = vals.get('value_suggested') if value_suggested: - vals.update({'answer_score': self._get_mark(value_suggested)}) + vals.update({'answer_score': self.env['survey.label'].browse(int(value_suggested)).answer_score}) return super(SurveyUserInputLine, self).write(vals) @api.model