У меня есть функция, выполняющаяся в api.onchange('bom_line_ids')
, внутри этой функции. Я хочу иметь инструкцию if, чтобы очистить bom_line_ids, если условие согласовано. Я использовал self.bom_line_ids.product_id = False
Если я изменяю значение поля в методе api.onchange, он не обновляется в представлении. Зачем?
, но по какой-то причине поле очищается (это видно в отпечатках, но оно не обновляется на вид).
@api.onchange('bom_line_ids')
def get_excl_list(self):
list1 = []
for i in self.excl_list:
list1.append(i.id)
list2 = []
for j in self.bom_line_ids:
list2.append(j.product_id.id)
if j.product_id.id in list1:
warning_message = "Product: " + self.env['product.template'].search([('id','=',j.product_id.id)]).name + " can't be added to the BoM.\n Please select another product."
print "self.bom_line_ids.product_id", self.bom_line_ids.product_id
self.bom_line_ids.product_id = False
print "self.bom_line_ids.product_id", self.bom_line_ids.product_id
return { 'warning': {'title': 'Product error', 'message':warning_message} }
привет, спасибо за ваш ответ! Я попробовал, что сказал u, но self.bom_line_ids [self.bom_line_ids.index (j)]. Product_id = False дал мне ошибку, что mrp.bom.line не имеет атрибута Index. j.product_id = False результаты для поля product_id в представлении, которое продолжает оставаться выбранным мной значением, когда распечатка еще показывает, что она пуста. Когда я сохраняю BoM, значение product_id также сохраняется в db, .. – Jesse