from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): """ 自定义用户模型 """ ROLE_CHOICES = ( ('admin', '管理员'), ('user', '普通账号'), ) role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='user', verbose_name='角色') factory = models.ForeignKey('factory.Factory', on_delete=models.SET_NULL, null=True, blank=True, related_name='users', verbose_name='所属工厂') phone = models.CharField(max_length=20, blank=True, null=True, verbose_name='手机号') class Meta: verbose_name = '用户' verbose_name_plural = '用户' db_table = 'auth_user' def __str__(self): return f"{self.username} ({self.get_role_display()})"