Как доменировать район по штату в Odoo 17?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как доменировать район по штату в Odoo 17?

Сообщение Anonymous »

В odoo у меня есть 2 поля: state_id и District_id. По сути, я хочу выбрать штат, тогда при выборе округа будут показаны только районы, принадлежащие этому штату. Обычно я делаю это так:
будет создано фиктивное поле

Код: Выделить всё

domain_district = fields.Char(compute='_compute_domain_district')
и вычислите это поле. В этом поле будет храниться идентификатор районной школы, который вам нужно отобразить.

Код: Выделить всё

 @api.depends('state_id')
def _compute_domain_district(self):
for rec in self:
if rec.state_id:
districts = self.env['res.country.district'].sudo().search([('state_id', '=', rec.state_id.id)])
domain = [('id', 'in', districts.ids)] if districts else []
else:
domain = []
rec.domain_district = json.dumps(domain)
внутри xml просто нужно Этот метод работал довольно хорошо, но мне он показался длинным и сложным, поскольку мне приходилось создавать дополнительные поля вычислений, поэтому мне нужен был более простой подход, чем использование функции onchange, я сделал следующее:

Код: Выделить всё

 @api.onchange('state_id', 'district_id')
def _onchange_state_id(self):
result = {}
if self.state_id:
result['domain'] = {'district_id': [('state_id', '=', self.state_id.id)]}
else:
result['domain'] = {'district_id': [('id', 'in', [])]}
return result
Но эта функция кажется неправильной, хотя я выбрал state_id, при выборе District_id она не отфильтровывает правильные записи, она все равно показывает все District_id, Мне нужна ваша помощь в решении проблемы. Это ?

Подробнее здесь: https://stackoverflow.com/questions/788 ... in-odoo-17
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка сервера Odoo при обновлении модуля Odoo 13 до Odoo 14
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Проблема с доступом к установочному штату Redux в обработчиках событий
    Anonymous » » в форуме Javascript
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как запретить Odoo автоматически генерировать заказ на покупку, когда в Odoo 15 нет товара?
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Запуск тестов odoo в odoo sh
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Запуск тестов odoo в odoo sh
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»