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" }