我有一个CustomType,如何在自定义类型创建时检查Column是否设置为nullabe = True?
import sqlalchemy.types as types
class MyType(types.TypeDecorator):
impl = types.Unicode
def process_bind_param(self, value, dialect):
return "PREFIX:" + value
def process_result_value(self, value, dialect):
return value[7:]
这是一个定义的模型,将使用它:
class User(BaseModel):
__tablename__ = 'user'
mytype = Column(MyType(), nullable=True)
答案 0 :(得分:2)
我不明白你在自定义类型创建中对的意思。要检查列是否可为空,请执行以下操作:
print(User.__table__.columns['mytype'].nullable)
要启用自定义类型句柄Null(None)值,您可以执行以下操作:
class MyType(types.TypeDecorator):
impl = types.Unicode
def process_bind_param(self, value, dialect):
return "PREFIX:" + value if value else None
def process_result_value(self, value, dialect):
return value[7:] if value else None