SQLalchemy不将None转换为字符串

时间:2017-09-14 10:02:05

标签: python mysql sqlalchemy

我有以下简化模型:

from sqlalchemy import Column, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

class Example(Base):
        __tablename__ = 'example'

        source = Column(String(32), nullable=False)

当我执行以下操作时:

from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
engine = create_engine(
    "mysql+pymysql://{}:{}@{}/{}?charset=utf8".format(
        'user', 'password', 'localhost', 'db'),
    encoding='utf8',   echo=False)
DBSession = sessionmaker(bind=engine)
session = DBSession()
source = None
session.add(Example(source=source))

mysql表定义:

CREATE TABLE `example` (
  `source` varchar(32) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它将'None'的值作为源插入mysql。

但我想要的是尝试导入一个NULL值并抛出一个mysql异常。

这是最好的方法吗?

0 个答案:

没有答案