How to display a boolean property in the django admin
Waiting for better solutions to come up, I've solved it in the following way:
class MyModel(models.Model):
def _is_something(self):
if self.something == 'something':
return True
return False
_is_something.boolean = True
is_something = property(_is_something)
I'll then reference the _is_something
method in the ModelAdmin
subclass:
class MyModelAdmin(admin.ModelAdmin):
list_display = ['_is_something']
And the is_something
property otherwise:
if my_model_instance.is_something:
print("I'm something")
this is the simplest way I found, directly in the ModelAdmin:
class MyModelAdmin(admin.ModelAdmin):
def is_something(self, instance):
return instance.something == "something"
is_something.boolean = True
is_something.short_description = u"Is something"
list_display = ['is_something']