【发布时间】:2021-02-10 05:48:10
【问题描述】:
我是使用 Python 的初学者。我有两个值要设置 if/else 逻辑。一个是 "obj.default_value",另一个是 "obj.override"。
我的问题的基本总结是我想设置一个 if/else 语句来检查 obj.override == 'true' 那么 obj.default_value 是否应该改变为“真”。如果 obj.override == 'false' 那么 obj.default_value 应该更改为 'False'。最后一个选项是如果 obj.override == 'none' 那么 obj.default_value 应该保持原来的值。
更好的是,如果可能的话,我希望 obj.override 否定 obj.default_value 的值。真变成假,反之亦然。我想设置一个覆盖默认值的新函数。我希望我能很好地解释这一切,任何帮助将不胜感激。
这是我当前引用的两个值的代码:
def default_value_custom(self, obj):
color = 'green' if obj.default_value else 'red'
return mark_safe("<span style='color:%s'>%s</span>" % (color, obj.default_value))
default_value_custom.short_description = 'default value'
def override_custom(self, obj):
if obj.override == 'true':
return mark_safe("Always <span style='color:green'>True</span>")
elif obj.override == 'false':
return mark_safe("Always <span style='color:red'>False</span>")
else:
return obj.override
【问题讨论】:
-
Python中是
True和False;大写不是小写 -
@dawg 这是真的,但提供的代码似乎是在检查字符串值,而不是直接检查布尔值。
标签: python