add index

This commit is contained in:
mizhexiaoxiao 2024-08-07 10:32:10 +08:00
parent 155818dd1f
commit 6123e6f971
2 changed files with 28 additions and 28 deletions

View File

@ -7,16 +7,16 @@ from .enums import MethodType
class User(BaseModel, TimestampMixin):
username = fields.CharField(max_length=20, unique=True, description="用户名称")
alias = fields.CharField(max_length=30, null=True, description="姓名")
email = fields.CharField(max_length=255, unique=True, description="邮箱")
phone = fields.CharField(max_length=20, null=True, description="电话")
username = fields.CharField(max_length=20, unique=True, description="用户名称", index=True)
alias = fields.CharField(max_length=30, null=True, description="姓名", index=True)
email = fields.CharField(max_length=255, unique=True, description="邮箱", index=True)
phone = fields.CharField(max_length=20, null=True, description="电话", index=True)
password = fields.CharField(max_length=128, null=True, description="密码")
is_active = fields.BooleanField(default=True, description="是否激活")
is_superuser = fields.BooleanField(default=False, description="是否为超级管理员")
last_login = fields.DatetimeField(null=True, description="最后登录时间")
is_active = fields.BooleanField(default=True, description="是否激活", index=True)
is_superuser = fields.BooleanField(default=False, description="是否为超级管理员", index=True)
last_login = fields.DatetimeField(null=True, description="最后登录时间", index=True)
roles = fields.ManyToManyField("models.Role", related_name="user_roles")
dept_id = fields.IntField(null=True, description="部门ID")
dept_id = fields.IntField(null=True, description="部门ID", index=True)
class Meta:
table = "user"
@ -28,7 +28,7 @@ class User(BaseModel, TimestampMixin):
class Role(BaseModel, TimestampMixin):
name = fields.CharField(max_length=20, unique=True, description="角色名称")
name = fields.CharField(max_length=20, unique=True, description="角色名称", index=True)
desc = fields.CharField(max_length=500, null=True, blank=True, description="角色描述")
menus = fields.ManyToManyField("models.Menu", related_name="role_menus")
apis = fields.ManyToManyField("models.Api", related_name="role_apis")
@ -38,23 +38,23 @@ class Role(BaseModel, TimestampMixin):
class Api(BaseModel, TimestampMixin):
path = fields.CharField(max_length=100, description="API路径")
method = fields.CharEnumField(MethodType, description="请求方法")
summary = fields.CharField(max_length=500, description="请求简介")
tags = fields.CharField(max_length=100, description="API标签")
path = fields.CharField(max_length=100, description="API路径", index=True)
method = fields.CharEnumField(MethodType, description="请求方法", index=True)
summary = fields.CharField(max_length=500, description="请求简介", index=True)
tags = fields.CharField(max_length=100, description="API标签", index=True)
class Meta:
table = "api"
class Menu(BaseModel, TimestampMixin):
name = fields.CharField(max_length=20, description="菜单名称")
name = fields.CharField(max_length=20, description="菜单名称", index=True)
remark = fields.JSONField(null=True, description="保留字段", blank=True)
menu_type = fields.CharEnumField(MenuType, null=True, blank=True, description="菜单类型")
icon = fields.CharField(max_length=100, null=True, blank=True, description="菜单图标")
path = fields.CharField(max_length=100, description="菜单路径")
order = fields.IntField(default=0, description="排序")
parent_id = fields.IntField(default=0, max_length=10, description="父菜单ID")
path = fields.CharField(max_length=100, description="菜单路径", index=True)
order = fields.IntField(default=0, description="排序", index=True)
parent_id = fields.IntField(default=0, max_length=10, description="父菜单ID", index=True)
is_hidden = fields.BooleanField(default=False, description="是否隐藏")
component = fields.CharField(max_length=100, description="组件")
keepalive = fields.BooleanField(default=True, description="存活")
@ -65,20 +65,20 @@ class Menu(BaseModel, TimestampMixin):
class Dept(BaseModel, TimestampMixin):
name = fields.CharField(max_length=20, unique=True, description="部门名称")
name = fields.CharField(max_length=20, unique=True, description="部门名称", index=True)
desc = fields.CharField(max_length=500, null=True, blank=True, description="备注")
is_deleted = fields.BooleanField(default=False, description="软删除标记")
order = fields.IntField(default=0, description="排序")
parent_id = fields.IntField(default=0, max_length=10, description="父部门ID")
is_deleted = fields.BooleanField(default=False, description="软删除标记", index=True)
order = fields.IntField(default=0, description="排序", index=True)
parent_id = fields.IntField(default=0, max_length=10, description="父部门ID", index=True)
class Meta:
table = "dept"
class DeptClosure(BaseModel, TimestampMixin):
ancestor = fields.IntField(description="父代")
descendant = fields.IntField(description="子代")
level = fields.IntField(default=0, description="深度")
ancestor = fields.IntField(description="父代", index=True)
descendant = fields.IntField(description="子代", index=True)
level = fields.IntField(default=0, description="深度", index=True)
class AuditLog(BaseModel, TimestampMixin):
@ -89,4 +89,4 @@ class AuditLog(BaseModel, TimestampMixin):
method = fields.CharField(max_length=10, default="", description="请求方法", index=True)
path = fields.CharField(max_length=255, default="", description="请求路径", index=True)
status = fields.IntField(default=-1, description="状态码", index=True)
response_time = fields.IntField(default=0, description="响应时间(单位ms)")
response_time = fields.IntField(default=0, description="响应时间(单位ms)", index=True)

View File

@ -38,9 +38,9 @@ class BaseModel(models.Model):
class UUIDModel:
uuid = fields.UUIDField(unique=True, pk=False)
uuid = fields.UUIDField(unique=True, pk=False, index=True)
class TimestampMixin:
created_at = fields.DatetimeField(auto_now_add=True)
updated_at = fields.DatetimeField(auto_now=True)
created_at = fields.DatetimeField(auto_now_add=True, index=True)
updated_at = fields.DatetimeField(auto_now=True, index=True)