Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
349 Vistas
for record in self:
if record.x_studio_export_presta == False
record.x_studio_test_computed_intero = 1
elif record.x_studio_export_presta == True
record.x_studio_test_computed_intero = 0

Could someone please help me with this computed field? I think the logic is correct, but I'm missing something in the syntax. I want the x_studio_test_computed_intero field = 1 when x_studio_export_presta is True, and if x_studio_test_computed_intero = 0 when x_studio_export_presta is False.

x_studio_export_presta is a boolean field.

Avatar
Descartar
Autor

Sorry, maybe I expressed myself badly. I'll try to be clearer and simpler.

IF x = True, y = 1

Elseif x = False, y = 0

So,
record.x_studio_export_presta = int(record.x_studio_test_computed_intero)
?
Still don't get why you differentiate between 0/False and 1/True here, but there might be a reason for you, I suppose.

Autor Mejor respuesta

Solved, Thank you

Avatar
Descartar
Mejor respuesta

Hi,

Please refer to the code:

for record in self:

    if record.x_studio_export_presta:

        record.x_studio_test_computed_intero = 1

    else:

        record.x_studio_test_computed_intero = 0


Hope it helps.

Avatar
Descartar
Mejor respuesta

You are probably missing the None state.

However, just

for record in self:
record.x_studio_test_computed_intero = not record.x_studio_export_presta

should be completely sufficient, because

>>> x = True
>>> y = not x
>>> print(y)
False
>>> x = False
>>> y = not x
>>> print(y)
True
>>> x = None
>>> y = not x
>>> print(y)
True



Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
sept 25
103
1
sept 25
331
1
sept 25
378
2
ago 25
587
2
ago 25
692