Список редактируемых профилей администратора Django

#django #admin #authentication

#django #администратор #аутентификация

Вопрос:

В Django я создал класс UserProfile и связал его с пользователем с помощью user = models.OneToOneField (Пользователь)

Это работает нормально, выглядит примерно так:

введите описание изображения здесь

Где виден пользовательский профиль (только с одним полем).

Тем не менее, я также использую опцию list_editable, которую я обнаружил сегодня. Я могу сделать пользовательские поля редактируемыми в виде списка, вот так:
введите описание изображения здесь

Очень приятная функция, но о ней я могу найти мало информации.

Что я хочу сделать, так это добавить поля пользовательского профиля в этот список редактируемым способом (для начала, поле email_verified в приведенном выше примере).

Возможно ли это сделать (без изменения кода Django)? Если да, то как мне это сделать?

Большое спасибо,

ОБНОВЛЕНИЕ: Серьезно, как я могу сделать вопрос более полезным, если я не могу использовать ссылки, изображения, ничего? Информация о list_editable находится в справке Django, надеюсь, Google поможет.

Комментарии:

1. Спасибо Bala R за добавление изображений!

Ответ №1:

Вы можете использовать наследование модели пользователя и избавиться от профиля. На мой взгляд, это лучший способ. Здесь вы можете прочитать об этом:http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance /

А затем просто добавьте email_verified в list_editable

Комментарии:

1. Лично я не слишком доволен подходом наследования, но он отвечает на вопрос, спасибо!

2. Добавьте «email_verified» в list_display и добавьте метод «email_verified» в AdminModel для пользователя, который просто возвращает email_verified: тогда вы можете переписать этот метод github.com/django/django/blob/1.2.X/django/contrib/admin/… чтобы он возвращал formset, witch может сохранить изменения для email_verified в модели профиля. И действительно, email_verified не может быть в eidtable_list, потому что это не поле модели пользователя, поэтому вам следует взломать что-то еще в приложении администратора. Но если вы выбрали первое предложение, все, что вам нужно — добавьте «email_verified» в list_dispalay и editable_list