@@ -148,7 +148,10 @@ class Band(Table):
148148 concat_delegate : ConcatDelegate = ConcatDelegate ()
149149
150150 def __init__ (
151- self , length : int = 255 , default : t .Union [str , None ] = "" , ** kwargs
151+ self ,
152+ length : int = 255 ,
153+ default : t .Union [str , t .Callable [[], str ], None ] = "" ,
154+ ** kwargs ,
152155 ) -> None :
153156 self ._validate_default (default , (str , None ))
154157
@@ -167,7 +170,9 @@ def column_type(self):
167170 def __add__ (self , value : t .Union [str , Varchar , Text ]) -> QueryString :
168171 engine_type = self ._meta .table ._meta .db .engine_type
169172 return self .concat_delegate .get_querystring (
170- column_name = self ._meta .name , value = value , engine_type = engine_type ,
173+ column_name = self ._meta .name ,
174+ value = value ,
175+ engine_type = engine_type ,
171176 )
172177
173178 def __radd__ (self , value : t .Union [str , Varchar , Text ]) -> QueryString :
@@ -232,7 +237,9 @@ class Band(Table):
232237 value_type = str
233238 concat_delegate : ConcatDelegate = ConcatDelegate ()
234239
235- def __init__ (self , default : t .Union [str , None ] = "" , ** kwargs ) -> None :
240+ def __init__ (
241+ self , default : t .Union [str , None , t .Callable [[], str ]] = "" , ** kwargs
242+ ) -> None :
236243 self ._validate_default (default , (str , None ))
237244 self .default = default
238245 kwargs .update ({"default" : default })
@@ -312,7 +319,9 @@ class Band(Table):
312319
313320 math_delegate = MathDelegate ()
314321
315- def __init__ (self , default : t .Union [int , None ] = 0 , ** kwargs ) -> None :
322+ def __init__ (
323+ self , default : t .Union [int , t .Callable [[], int ], None ] = 0 , ** kwargs
324+ ) -> None :
316325 self ._validate_default (default , (int , None ))
317326 self .default = default
318327 kwargs .update ({"default" : default })
@@ -690,7 +699,11 @@ class Band(Table):
690699
691700 value_type = bool
692701
693- def __init__ (self , default : t .Union [bool , None ] = False , ** kwargs ) -> None :
702+ def __init__ (
703+ self ,
704+ default : t .Union [bool , t .Callable [[], bool ], None ] = False ,
705+ ** kwargs ,
706+ ) -> None :
694707 self ._validate_default (default , (bool , None ))
695708 self .default = default
696709 kwargs .update ({"default" : default })
@@ -757,7 +770,9 @@ def scale(self):
757770 def __init__ (
758771 self ,
759772 digits : t .Optional [t .Tuple [int , int ]] = None ,
760- default : t .Union [decimal .Decimal , None ] = decimal .Decimal (0.0 ),
773+ default : t .Union [
774+ decimal .Decimal , t .Callable [[], decimal .Decimal ], None
775+ ] = decimal .Decimal (0.0 ),
761776 ** kwargs ,
762777 ) -> None :
763778 if isinstance (digits , tuple ):
@@ -810,7 +825,11 @@ class Concert(Table):
810825
811826 value_type = float
812827
813- def __init__ (self , default : t .Union [float , None ] = 0.0 , ** kwargs ) -> None :
828+ def __init__ (
829+ self ,
830+ default : t .Union [float , t .Callable [[], float ], None ] = 0.0 ,
831+ ** kwargs ,
832+ ) -> None :
814833 self ._validate_default (default , (float , None ))
815834 self .default = default
816835 kwargs .update ({"default" : default })
@@ -1060,7 +1079,15 @@ class JSON(Column): # lgtm[py/missing-equals]
10601079 value_type = str
10611080
10621081 def __init__ (
1063- self , default : t .Union [str , t .List , t .Dict , None ] = "{}" , ** kwargs
1082+ self ,
1083+ default : t .Union [
1084+ str ,
1085+ t .List ,
1086+ t .Dict ,
1087+ t .Callable [[], t .Union [str , t .List , t .Dict ]],
1088+ None ,
1089+ ] = "{}" ,
1090+ ** kwargs ,
10641091 ) -> None :
10651092 self ._validate_default (default , (str , list , dict , None ))
10661093
0 commit comments