Files
MTCBD/backend/accounts/models.py
2026-02-23 20:31:53 +05:30

23 lines
839 B
Python

from django.contrib.auth.models import AbstractUser, UserManager
from django.db import models
from tenants.models import Tenant
from tenants.managers import TenantScopedManager
class User(AbstractUser):
ROLE_CHOICES = [
('super_admin', 'Super Admin'),
('institution_admin', 'Institution Admin'),
('teacher', 'Teacher'),
('student', 'Student'),
('project_manager', 'Project Manager'),
]
tenant = models.ForeignKey(Tenant, on_delete=models.CASCADE, related_name='users', null=True, blank=True)
role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='student')
objects = UserManager() # Default manager for auth operations
tenant_objects = TenantScopedManager() # Custom manager for tenant filtering
def __str__(self):
return self.username