log_management.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: log_management.py
  6. @date:2025/6/4 14:15
  7. @desc:
  8. """
  9. import uuid_utils.compat as uuid
  10. from django.db import models
  11. from common.encoder.encoder import SystemEncoder
  12. from common.mixins.app_model_mixin import AppModelMixin
  13. class Log(AppModelMixin):
  14. """
  15. 审计日志
  16. """
  17. id = models.UUIDField(primary_key=True, max_length=128, default=uuid.uuid7, editable=False, verbose_name="主键id")
  18. menu = models.CharField(max_length=128, verbose_name="操作菜单")
  19. operate = models.CharField(max_length=128, verbose_name="操作", db_index=True)
  20. operation_object = models.JSONField(verbose_name="操作对象", default=dict, encoder=SystemEncoder)
  21. user = models.JSONField(verbose_name="用户信息", default=dict)
  22. status = models.IntegerField(verbose_name="状态", db_index=True)
  23. ip_address = models.CharField(max_length=128, verbose_name="ip地址")
  24. details = models.JSONField(verbose_name="详情", default=dict, encoder=SystemEncoder)
  25. workspace_id = models.CharField(max_length=64, verbose_name="工作空间id", default="default", db_index=True)
  26. class Meta:
  27. db_table = "log"