как обновить разные записи в поле по всем продуктам в odoo?

1

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

поле имени в продукте, шаблон не сохраняется. теперь из-за потребностей нашего бизнеса, поэтому я не могу искать его.

Я делаю еще одно сохраненное поле для перемещения записей имен в него. поэтому я могу искать вместо имени.

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

class autopart(models.Model):
_inherit = 'product.template'

@api.multi
def button_name(self):
    for rec in self:
        name=self.name
        rec.search([]).write({'nameseacrh': self.name})



name = fields.Char(string="Name", required=False ,compute=compute_amount ,search=pro_search)

nameseacrh = fields.Char(string="", required=False,store=True, compute=compute_search )

кнопка XML

<button name="button_name" type="object" string="name" class="oe_highlight" groups="base.group_system"/>
Теги:
odoo
python-3.x

1 ответ

0

Я не совсем понимаю, что вы пытаетесь сделать, но вот несколько замечаний:

@api.multi
def button_name(self):
    for rec in self:
        name=self.name  # remark 1
        rec.search([]).write({'nameseacrh': self.name})  # remark 2 and 3

1) Вы никогда не используете эту переменную

2) rec.search([]) совпадает с self.env['product.template'].search([]): он принимает все шаблоны продуктов в БД. Вы, вероятно, не хотели этого делать... Затем вы записываете свои значения на всех записях.

3) вы используете self.name вместо rec.name. Первый из них будет работать только в том случае, если self является набором записей одного элемента, чего не будет в большинстве случаев в @api.multi

4) Я не понимаю, почему вам нужно создать новое поле, которое будет делать то, что вы делали раньше. Тебе не нужно это делать.

  • 0
    я добавил это поле, чтобы скопировать перекодирование имени, которое не хранится, в новое сохраненное, чтобы я мог искать, потому что первое не хранится из-за потребностей нашего бизнеса
  • 0
    Это все еще не имеет смысла. Хранение здесь или хранение там не влияет на потребности вашего бизнеса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню