原因:使用peewee创建表时,有类似于这样的语句: field_name = CharField(primary_key=True)
(也就是把char类型的字段设置成了主键。)
解释:utf8mb4 编码下 1 char = 4 bytes。而varchar默认长度为255(255*4 = 1020),超过报错显示的最大长度 1000 bytes。
解决:设置CharField的最大长度参数:max_length=num
(num <= 250)
参考:Python peewee.CharField() Examples