コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
252 ビュー
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.

アバター
破棄
著作者

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.

最善の回答

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



アバター
破棄
関連投稿 返信 ビュー 活動
0
9月 25
1
1
9月 25
301
1
9月 25
368
2
8月 25
578
2
8月 25
678