2

是的,我知道myfield.boolean = True. 我要问的是,是否有可能做这样的事情:

def get_nominees(self, obj):
    return ", ".join([nominee.name for nominee in obj.nominees.all()]) \  # returns a string
        or False  # returns a False icon

当我尝试这样做时,例如get_nominees.boolean = True,我得到一个KeyError.

4

1 回答 1

6

这是不可能的myfield.boolean = True- 请参阅django 的源代码

这可能是实现您想要做的最简单的方法:

def get_nominees(self, obj):
    from django.contrib.admin.templatetags.admin_list import _boolean_icon
    return ", ".join([nominee.name for nominee in obj.nominees.all()]) \
        or _boolean_icon(False)
get_nominees.allow_tags = True

请注意_boolean_icon,带有前置下划线的方法可能不打算以这种方式使用,并且可能会在未来版本的 django 中更改,恕不另行通知。

于 2013-10-24T20:47:13.383 回答