Я пытаюсь выполнить поиск по вычисленному полю в Odoo 9. Но он возвращает всю запись в качестве результата.Как я могу выполнить поиск по вычисленному полю в Odoo?
class Version(models.Model):
_name='product_cars_application.version'
name = fields.Char(compute="_get_name", store=True)
@api.one
def _get_name(self):
self.name = "%s %s %s (%s)" % (self.brand_id,
self.model_id.name,
self.vname,
self.year_id)
Я попытался с store=True
и без него, но имя поля не сохраняется в Databse. Я также попытался удалить столбец «имя» из базы данных, затем я обновил модуль, но он не хранит вычисления. Вычисленное поле отлично работает в представлении формы, но имя не сохраняется и поиск не работает.
Итак, как я могу искать по названию поля?
должны сделать некоторые изменения четкости _name_search (я, имя, арг = None, оператор = 'ILIKE', предел = 100): если оператор == 'как': оператор = 'ILIKE' версии = self.search ([('name', operator, name)], limit = limit) return versions.name_get() –
Ok. Я изменил свой код на ваши нужды. Кто-то с той же проблемой может лучше понять, что мы здесь делали. – Nope
Я не рекомендую использовать 'store = True' в вычисленных полях, потому что в некоторых случаях они плохо работают. – ChesuCR