#python #odoo #division #depends
#python #odoo #разделение #зависит
Вопрос:
Что не так с моим кодом?
Запрошенный:
Если A и B равны 0, покажите мне результат = A
Если A и B не равны 0, продолжайте
Если идентификатор C равен 1, выполните уравнение
Иначе, если это другой идентификатор, покажите мне результат = A
В остальном просто покажите
Что у меня сейчас есть (не работает):
@api.depends('A', 'B','C')
def _compute_X(self):
for record in self:
if int(record.A or record.B) != 0 and int(record.C) == 1:
record.X = record.A / record.B
else:
record.X = record.A
Ответ №1:
Это зависит от типа A
, B
, C
, и X
. Я рассматриваю их как класс типа string.
if int(record.A or record.B) != 0 and int(record.C) == 1:
record.X = str(int(record.A) / int(record.B))
# converting string to int while doing math operation and then converting the result to strting.
else:
record.X = record.A
Комментарии:
1. Спасибо, работает отлично! Но добавлено в поле по умолчанию как 1, чтобы не получить ошибку разделения.