我有以下简化模型:
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异常。
这是最好的方法吗?