Настройка модели пользователя: как показать связанную информацию в admin

#django #django-admin

#django #django-admin

Вопрос:

Django 1.10.2

Изучение настройки модели пользователя.

Пытаюсь следовать документации https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model

Я хочу сохранить этот отдел и показать его в admin. Проблема в том, что отдел не отображается.

Я играл с fieldsets и list_display, но потерпел неудачу.

Не могли бы вы помочь мне понять, как показать отдел в admin?

admin.py

 from django.contrib.auth.models import User
from django.db import models
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User


class Employee(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    department = models.CharField(max_length=100)


# Define an inline admin descriptor for Employee model
# which acts a bit like a singleton
class EmployeeInline(admin.StackedInline):
    model = Employee
    can_delete = False
    verbose_name_plural = 'employee'

# Define a new User admin
class UserAdmin(BaseUserAdmin):
    inlines = (EmployeeInline, )

# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
  

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

1. у вас есть отношения «один к одному» между сотрудником и пользователем — django будет показывать только отношения «один ко многим» (внешние ключи) во встроенных строках

2. Ну, этот пример взят из документации. Где упоминается, что мы можем добавить этот отдел в admin. И приведен пример. Тот самый пример, который мы можем увидеть здесь.