from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): ROLE_CHOICES = [ ('admin', '管理员'), ('manager', '分管理'), ('user', '普通用户'), ] role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='user', help_text="用户角色") def is_admin(self): return self.role == 'admin' def is_manager(self): return self.role == 'manager' def is_user(self): return self.role == 'user' def __str__(self): return f"{self.username} ({self.get_role_display()})"