Отобразить поле пользовательского метода в Admin Display - PullRequest
0 голосов
/ 28 сентября 2011

Допустим, у меня есть какая-то модель Django, в которой список чисел представлен в виде поля. Я вычисляю некоторую статистику по полю, используя пользовательский метод в модели. Эти модели отображаются на панели администратора в виде InlineAdminModel, «встроенного» в родительский объект. Есть ли способ отобразить значение этого пользовательского метода на панели администратора при изменении родительской модели , это, очевидно, будет применяться только к тем, которые уже были созданы.

например. (Усечены)

class ListModel(models.Model):
    number_list = models.CommaSeparatedIntegerField(max_length = 20)
    def sum(self):
        return sum([int(s) for s in number_list.split(',')]) 

class ListModelAdmin(admin.TabularInline):
    model = ListModel
    list_display = ('sum') #works fine for displaying the ListModel 
    fields = ['number_list', 'sum'] #Obviously Doesn't work, but demonstrates
    #what I want to accomplish. sum wouldn't be settable but displayed when 
    #number_list is updated

1 Ответ

2 голосов
/ 28 сентября 2011

fields для редактируемых полей. Вместо этого используйте readonly_fields .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...