میخوام مدل های زیر در پنل ادمین نمایش داده بشه : 

from django.db import models
from app_account.models import CustomUser
from django.utils import timezone

class User(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, verbose_name='کاربر')
    id_number = models.CharField(max_length=10, verbose_name='کد ملی', blank=True, null=True, unique=True)
    is_student = models.BooleanField(default=False, verbose_name='دانش‌آموز')
    is_educator = models.BooleanField(default=False, verbose_name='مربی')
    is_parent = models.BooleanField(default=False, verbose_name='ولی')

    def __str__(self):
        roles = [role for role, flag in [
            ('دانش‌آموز', self.is_student),
            ('مربی', self.is_educator),
            ('ولی', self.is_parent)
        ] if flag]
        return f'{self.user} - {", ".join(roles)}'
    
    class Meta:
        db_table = 'tbl_users'
        verbose_name_plural = 'کاربران'

class Schools(models.Model):
    name = models.CharField(max_length=100, verbose_name='نام مدرسه')
    city = models.CharField(max_length=100, verbose_name='شهر')
    address = models.CharField(max_length=200, verbose_name='آدرس', blank=True, null=True)
    phone = models.CharField(max_length=20, verbose_name='تلفن', blank=True, null=True)
    email = models.EmailField(max_length=100, verbose_name='ایمیل', blank=True, null=True)
    website = models.URLField(max_length=100, verbose_name='وب‌سایت', blank=True, null=True)
    logo = models.ImageField(upload_to='app_school/logo/', verbose_name='لوگو', blank=True, null=True)
    description = models.TextField(verbose_name='توضیحات', blank=True, null=True)
    manager = models.OneToOneField(User, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='مدیر')

    def __str__(self):
        return self.name

    class Meta:
        db_table = 'tbl_schools'
        verbose_name_plural = 'مدارس'

class Grades(models.Model):
    name = models.CharField(max_length=20, verbose_name='پایه تحصیلی')

    def __str__(self):
        return f'{self.name} - {self.school}'

    class Meta:
        db_table = 'tbl_grades'
        verbose_name_plural = 'پایه‌های تحصیلی'

class Books(models.Model):
    name = models.CharField(max_length=100, verbose_name='نام کتاب')
    grade = models.ForeignKey(Grades, on_delete=models.CASCADE, verbose_name='پایه تحصیلی')

    def __str__(self):
        return f'{self.name} - {self.grade}'

    class Meta:
        db_table = 'tbl_books'
        verbose_name_plural = 'کتب'

class Subjects(models.Model):
    name = models.CharField(max_length=100, verbose_name='درس')
    book = models.ForeignKey(Books, on_delete=models.CASCADE, verbose_name='کتاب')

    def __str__(self):
        return f'{self.name} - {self.book}'
    
    class Meta:
        db_table = 'tbl_subjects'
        verbose_name_plural = 'دروس'

class Classes(models.Model):
        name = models.CharField(max_length=100, verbose_name='نام کلاس')
        grade = models.ForeignKey(Grades, on_delete=models.CASCADE, verbose_name='پایه تحصیلی')
        subjects = models.ManyToManyField(Subjects, verbose_name='دروس')
        educators = models.ManyToManyField(User, through='ClassEducator', verbose_name='مربیان')
        school = models.ForeignKey(Schools, on_delete=models.CASCADE, verbose_name='مدرسه')

        def __str__(self):
            return f'{self.name} - {self.grade} - {self.school}'

        class Meta:
            db_table = 'tbl_classes'
            verbose_name_plural = 'کلاس‌ها'

class ClassEducator(models.Model):
    class_obj = models.ForeignKey(Classes, on_delete=models.CASCADE, verbose_name='کلاس')
    educator = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='مربی')
    role = models.CharField(max_length=50, verbose_name='نقش')

    def __str__(self):
        return f'{self.class_obj} - {self.educator} ({self.role})'

    class Meta:
        db_table = 'tbl_class_educators'
        verbose_name_plural = 'مربیان کلاس‌ها'

class Student(models.Model):
    student = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='دانش‌آموز')
    father = models.ForeignKey(User, on_delete=models.CASCADE, related_name='father_of', verbose_name='پدر', blank=True, null=True)
    mother = models.ForeignKey(User, on_delete=models.CASCADE, related_name='mother_of', verbose_name='مادر', blank=True, null=True)

    def __str__(self):
        return f'{self.student}'
    
    class Meta:
        db_table = 'tbl_students'
        verbose_name_plural = 'دانش‌آموزان'

class AcademicYear(models.Model):
    student = models.ForeignKey(Student, on_delete=models.CASCADE, verbose_name='دانش‌آموز')
    academic_year = models.CharField(max_length=10, verbose_name='سال تحصیلی')
    class_name = models.ForeignKey(Classes, on_delete=models.CASCADE, verbose_name='کلاس')

    def __str__(self):
        return f'{self.student} - {self.academic_year}'
    
    class Meta:
        db_table = 'tbl_academic_years'
        verbose_name_plural = 'سال‌های تحصیلی'