Использование произвольных методов или атрибутов в качестве полей в Django ModelAdmin объекты?

Использование Django 1.1:

Документы администратора Django описывают использование произвольных методов или атрибутов объекта ModelAdmin в атрибуте класса list_display . Это отличный механизм для отображения произвольной информации в списке отображения для модели. Тем не менее, похоже, не существует аналогичного механизма для самой страницы формы изменений. Как проще всего выполнить эту полезную небольшую функцию для отображения произвольной информации, не производной от поля, на странице формы изменения ModelAdmin?

Конкретный пример требуемой настройки:

class CustomUserAdmin(UserAdmin):
    def registration_key(self, obj):
        """Special method for looking up and returning the user's registration key
        """
        return 'the_key'

    list_display = ('email', 'first_name', 'last_name', 'is_active', 'is_staff', 
                    'registration_key')  # <- this works

    fields = ('email', 'first_name', 'last_name', 'is_active', 'is_staff',
              'registration_key')  # <- this DOESN'T work?

11
задан David Eyk 25 August 2010 в 14:17
поделиться

2 ответа

Также добавьте метод в кортеж readonly_fields.

22
ответ дан 3 December 2019 в 03:16
поделиться

Я делал это раньше, переопределяя шаблон для формы изменения и получая доступ к пользовательским методам модели. Использование полей просит администратора попытаться добавить поле формы для вашего метода.

1
ответ дан 3 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: