I am very new to Django backend. I am trying to figure out how to implement multi user access based on their roles named Students, Providers, Validators and Admin to our web project. I made a models based on what i found in internet and this is what I made so far and I got stuck after this.
from django.db import models
from django.conf import settings
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
is_student = models.BooleanField(default=False)
is_validator = models.BooleanField(default=False)
is_provider = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
class Student(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, limit_choices_to="is_user")
avatar = models.FileField
address = models.CharField(max_length=50)
gwa = models.FloatField(max_length=100)
graduated_at = models.CharField(max_length=100)
year = models.DateField()
class Validators(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.FileField
address = models.CharField(max_length=50)
class Provider(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
company_address = models.CharField(max_length=100)
phone_no = models.CharField(max_length=11)
company_website = models.CharField(max_length=100)
avatar = models.FileField
class Admin(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.FileField(upload_to='avatars')