From 86237667e7fa3bbc3de6fd17d1385156d2de15e1 Mon Sep 17 00:00:00 2001 From: Yannick Payot Date: Thu, 11 May 2023 12:01:55 +0200 Subject: [PATCH] Fix singleton error --- test_base_fileurl_field/models/res_partner.py | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/test_base_fileurl_field/models/res_partner.py b/test_base_fileurl_field/models/res_partner.py index e11715d..257461c 100644 --- a/test_base_fileurl_field/models/res_partner.py +++ b/test_base_fileurl_field/models/res_partner.py @@ -21,24 +21,32 @@ class ResPartner(models.Model): @api.constrains("url_file", "url_file_fname") def _check_url_file_fname(self): - rec = self.search([("url_file_fname", "=", self.url_file_fname)]) - if len(rec) > 1: - raise ValidationError( - _( - "This file name is already used on an existing record. " - "Please use another file name or delete the url_file on :\n" - "Model: %s Id: %s" % (self._name, rec.id) - ) + for rec in self: + match = self.search( + [("url_file_fname", "=", rec.url_file_fname), ("id", "!=", rec.id)], + limit=1, ) + if match: + raise ValidationError( + _( + "This file name is already used on an existing record. " + "Please use another file name or delete the url_file on :\n" + "Model: %s Id: %s" % (self._name, match.id) + ) + ) @api.constrains("url_image", "url_image_fname") def _check_url_image_fname(self): - rec = self.search([("url_image_fname", "=", self.url_image_fname)]) - if len(rec) > 1: - raise ValidationError( - _( - "This file name is already used on an existing record. " - "Please use another file name or delete the url_image on :\n" - "Model: %s Id: %s" % (self._name, rec.id) - ) + for rec in self: + match = self.search( + [("url_image_fname", "=", rec.url_image_fname), ("id", "!=", rec.id)], + limit=1, ) + if match: + raise ValidationError( + _( + "This file name is already used on an existing record. " + "Please use another file name or delete the url_image on :\n" + "Model: %s Id: %s" % (self._name, match.id) + ) + )