2014-06-28 153 views
0

我有一個CustomType,如何檢查列是否設置爲nullabe = True在創建自定義類型?如何檢查自定義類型是否設置爲nullable = 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) 

回答

2

我不明白你的意思在自定義類型創建什麼。要檢查列是否可爲空去就像這樣:

print(User.__table__.columns['mytype'].nullable)                      

爲了使您的自定義類型處理空(無)值,你可以做這樣的事情:

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 
+0

我需要知道的名字手邊的專欄,這不適合我。 – jdk2588

+0

您提供的解決方法是檢查值是否通過,但應檢查該字段是否設置爲空。 – jdk2588

相關問題