41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
from django.db import models
|
||
from shortuuid.django_fields import ShortUUIDField
|
||
|
||
from utils.model import BaseModel
|
||
|
||
|
||
class SystemUser(BaseModel):
|
||
id = ShortUUIDField(
|
||
length=12,
|
||
max_length=12,
|
||
primary_key=True,
|
||
)
|
||
user_name = models.CharField(max_length=100, unique=True, verbose_name="用户名称(登录账号)")
|
||
nick_name = models.CharField(max_length=100, verbose_name="用户昵称")
|
||
password = models.CharField(max_length=128, verbose_name="密码")
|
||
last_login_time = models.DateTimeField(blank=True, null=True, verbose_name="最近一次登录时间")
|
||
avatar = models.CharField(max_length=200, blank=True, null=True, verbose_name="用户头像")
|
||
phone = models.CharField(max_length=50, blank=True, null=True, verbose_name="用户手机号")
|
||
email = models.EmailField(max_length=32, blank=True, null=True, verbose_name="用户邮箱")
|
||
SEX_CHOICES = (
|
||
(0, "未知"),
|
||
(1, "男"),
|
||
(2, "女"),
|
||
)
|
||
sex = models.IntegerField(choices=SEX_CHOICES, default=0, null=True, blank=True, verbose_name="性别")
|
||
birthday = models.DateField(verbose_name="生日")
|
||
status = models.PositiveSmallIntegerField(default=1, verbose_name="账号状态(1正常 2停用)")
|
||
role = models.ForeignKey(
|
||
to="role.Role",
|
||
blank=True,
|
||
null=True,
|
||
on_delete=models.CASCADE,
|
||
db_constraint=False,
|
||
verbose_name="关联角色",
|
||
)
|
||
|
||
class Meta:
|
||
db_table = "system_users"
|
||
verbose_name = "用户表"
|
||
ordering = ("-created_at",)
|