Below is my Base class
class User(AbstractUser):
class Meta:
verbose_name =_("Student")
verbose_name_plural = _("Students")
ROLE = (
('STUDENT', 'Student'),
('TEACHER', 'Teacher'),
('STUDENT-TEACHER', 'Student-Teacher')
)
username = models.CharField(verbose_name=_('Username'), max_length=100, unique=True)
email = models.EmailField(verbose_name=_('Email'),max_length=200,blank=False,null=False)
dob = models.DateField(verbose_name=_("Date of Birth"), blank=False, null=True)
phone_number = models.CharField(verbose_name=_("Phone Number"), blank=True, null=True, max_length = 13)
role = models.CharField(max_length=50, choices=ROLE, blank=False, null=True)
is_active = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
USERNAME_FIELD = 'username'
and here Below is My Another Model class(Teacher)
class Teacher(models.Model):
class Meta:
verbose_name =_("Teacher")
verbose_name_plural = _("Teachers")
TIMEZONES = tuple(zip(pytz.all_timezones, pytz.all_timezones))
GENDER_CHOICES = (
('MALE', 'Male'),
('FEMALE', 'Female')
)
LEVEL_CHOICES = (
('BEGINNER', 'Beginner'),
('INTERMEDIATE', 'Intermediate'),
('ADVANCED', 'Advanced')
)
pke = models.BigIntegerField(primary_key=True)
user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE)
profile_image = models.ImageField(verbose_name=_("Profile Image"), blank=True, null=True, upload_to="teacher_image", default="/dummy.png")
gender = models.CharField(verbose_name=_("Gender"), choices=GENDER_CHOICES, blank=True, null=True, max_length=100)
level = models.CharField(verbose_name=_("Level Taught"), choices=LEVEL_CHOICES, blank=True, null=True, max_length=100)
country = models.CharField(verbose_name=_("Country"), max_length=30, blank=True, null=True)
city = models.CharField(verbose_name=_("City"), max_length=50, blank=True, null=True)
experience = models.FloatField(verbose_name=("Total Experience"), blank=True, null=True)
in admin.py of Teachers
class CertificateInline(admin.StackedInline):
model = TeacherDocument
extra = 1
max_num = 5
class TeacherInline(admin.StackedInline):
model = User
verbose_name_plural = "Profile"
# extra = 0
class TeacherAdmin(admin.ModelAdmin):
list_display=('experience',)
inlines = [TeacherInline, CertificateInline]
form = TeacherAdminForm
This Teacher Inline is not working , Giveing me an Error :-
<class 'modules.teacher.admin.TeacherInline'>: (admin.E202) 'users.User' has no ForeignKey to 'teacher.Teacher'