diagnose-backend/authentication/models.py
pzc-x99 f56b66d8f1 /health/
/error_code_map/
/ec_user/*
/diagnose/*
/admin/*
2025-02-28 23:05:31 +08:00

25 lines
965 B
Python

from django.db import models
# Create your models here.
from rest_framework.authtoken.models import Token
class CustomToken(Token):
# 在 Token 上添加更多字段(可以根据需求自定义)
extra_info = models.CharField(max_length=255, null=True, blank=True) # 示例附加信息字段
last_used = models.DateTimeField(auto_now=True) # 记录最后一次使用的时间
expiration_date = models.DateTimeField(null=True, blank=True) # 记录 Token 的过期时间
def __str__(self):
# 返回 Token 的字符串表示,包括用户名和 key
return f"Token for {self.user.username} - {self.key}"
def get_user_info(self):
# 可以提供一个方法来获取与 Token 关联的用户的更多信息
return {
"username": self.user.username,
"email": self.user.email,
"role": self.user.groups.first().name if self.user.groups.exists() else "No role"
}