python - 如何将非 SQLAlchemy 默认类型设置为 utf8 bin
问题描述
如何将非默认 SQLAlchemy 类型设置为utf8_bin
,例如:
class User(sa.Model):
__tablename__ = 'user'
id = sa.Column(sqlalchemy_utils.UUIDType(binary=True), primary_key=True, default=uuid.uuid4())
name = sa.Column(sa.VARCHAR(100, collation='utf8_bin'))
当我尝试插入新用户时,我收到错误:
Warning: (1300, "Invalid utf8 character string: '8FAE44'") rows += self.execute(sql + postfix)
我尝试使用连接到 MySQL,?charset=utf8
但它不起作用。我也找到了这个关于错误的线程。
我的 MySQL 版本是 mysql Ver 14.14 Distrib 5.7.21,适用于 Linux (x86_64),使用 EditLine 包装器、Python 3.6.5、SQLAlchemy 1.2.15、SQLAlchemy Utils 0.33.10 ...
解决方案
推荐阅读
- c# - 调用 async EventHandler 的区别
- ruby-on-rails - 使用 find .where 后如何获取活动记录的名称
- java - Java Servlet 如何通过 Session 获取 UserId
- python - 如何使用pyaudio在macos上录制麦克风?
- flutter - 无法在 macOS Catalina 10.15.4 上安装 dart
- javascript - Html Webpack Plugin 呈现 JS 模块而不是 HTML 文件
- c++ - 如何将一个类的成员函数作为参数传递给另一个类的成员函数?
- reactjs - 使用 docker run 命令启动开发服务器后,React 脚本立即退出
- java - 从 SB 2.2.7 升级到 SB 2.3.0 后 Spring Boot 应用程序不会启动
- reactjs - 运行 Next.js 构建时未定义 Jest 引用错误“描述”