Как скрыть поля, принадлежащие модели, от которой я наследую, в панели администратора django
У меня есть эти 2 модели в моем models.py
class Student(AbstractBaseUser):
date_of_birth = models.DateField(null=True)
phone_number = PhoneNumberField(null=True)
class Teacher(Student):
bio = models.TextField(null=True)
image = CompressedImageField(null=True, blank=True, default="default.png")
student = models.ForeignKey(Student, on_delete=models.SET_NULL, null=True)
Теперь в панели администратора, когда я перехожу к редактированию экземпляра учителя, я отображаю только биографическое изображение и ученика. Проблема в том, что при попытке редактирования экземпляра Teacher я также отображаю эти поля, но ввожу их из модели Student. Есть ли способ сделать это?
P.S модели и поля могут не иметь смысла, потому что они являются примерами.
Используйте ModelAdmin.fields
или ModelAdmin.exclude
для управления полями, которые вы хотите включить или исключить в форме администратора сайта.
from django.contrib import admin
class TeacherAdmin(admin.ModelAdmin):
exclude = ("date_of_birth", "phone_number")
И зарегистрировать его следующим образом
admin.site.register(Teacher, TeacherAdmin)