#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. И приведен пример. Тот самый пример, который мы можем увидеть здесь.