Skip to content

日志记录错误 #103

@casuallyone

Description

@casuallyone

对接口执行操作时显示(1406, "Data too long for column 'module' at row 1")
原因:错误不是直接来自自定义模型的字段,而是来自OperationLog模型的 module 字段。当您对自定义模型执行增删改查时,系统会记录操作日志,其中包含module字段来标识操作的模块。OperationLog 模型的module字段最大长度为64字符,但系统在记录操作时,可能使用了过长的模块标识符,例如apps.Xxxxxxxxxxxxxxxxxxxxx.views.XXXXXXXXXXXXViewSet.create,超过64字符的限制。
建议修改长度或截断:

# system/models/log.py:55
# 从 64 改为 256
module = models.CharField(max_length=256, verbose_name="模块") 
# 或者修改中间件代码,截断过长的模块标识符
# common/core/middleware.py:113
# 限制为 64 字符
log = OperationLog(module=v[:64])

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions