from django.db import models
from django.contrib.auth.models import AbstractUser,UserManager
from django.db.models.signals import post_save
from django.dispatch import receiver
# Create your models here.
class CustomUserManager(UserManager):
pass
class CustomUser(AbstractUser):
pass
class LecProfile(models.Model):
LECTURER = 1
MANAGEMENT = 2
ROLE_CHOICES = (
(LECTURER, 'lecturer'),
(MANAGEMENT, 'management'),
)
role= models.PositiveSmallIntegerField(choices=ROLE_CHOICES,null=True,blank=True)
user = models.OneToOneField(CustomUser,on_delete=models.CASCADE,null=True, related_name='lec_profile')
Employee_no = models.CharField(max_length=100)
Department = models.CharField(max_length=100)
Unit = models.CharField(max_length=100)
lec_image = models.FileField(upload_to='profile_image',blank=True)
def __str__(self):
return self.user.username
@receiver(post_save, sender=CustomUser)
def create_or_update_lec_profile(sender, instance, created, **kwargs):
if created:
LecProfile.objects.create(user=instance)
instance.lec_profile.save()
class UserProfile(models.Model):
STUDENT = 1
STUDENT_REP = 2
ROLE_CHOICES = (
(STUDENT, 'student'),
(STUDENT_REP, 'student_rep'),
)
role= models.PositiveSmallIntegerField(choices=ROLE_CHOICES,null=True,blank=True)
user = models.OneToOneField(CustomUser,on_delete=models.CASCADE,null=True, related_name='user_profile')
reg_no = models.CharField(max_length=100)
year = models.CharField(max_length=100)
course = models.CharField(max_length=100)
your_image = models.FileField(upload_to='profile_image1',blank=True)
def __str__(self):
return self.user.username
@receiver(post_save, sender=CustomUser)
def create_or_update_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
instance.user_profile.save()