from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): ROLE_CHOICES = [ ('superadmin', '超级管理员'), ('admin', '公司管理员'), ('seeker', '求职者'), ] role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='seeker') phone = models.CharField(max_length=20, blank=True) organization = models.ForeignKey( 'organizations.Organization', null=True, blank=True, on_delete=models.SET_NULL, related_name='admins' ) @property def is_superadmin(self): return self.role == 'superadmin' @property def is_admin(self): return self.role == 'admin' @property def is_seeker(self): return self.role == 'seeker' class Meta: verbose_name = '用户' verbose_name_plural = '用户'