如何将非SQLAlchemy默认类型设置为utf8 bin

时间:2019-01-07 21:26:10

标签: python mysql sqlalchemy sqlalchemy-utils

如何将非默认的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)

我尝试使用?charset=utf8连接到MySQL,但是它不起作用。我还发现了有关该错误的thread

我的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 ...

0 个答案:

没有答案