@@ -106,6 +106,11 @@ def __init__(
106
106
if invalid_options :
107
107
raise ValueError ("Unrecognized options: " + ", " .join (invalid_options ))
108
108
109
+ @property
110
+ @abstractmethod
111
+ def views_supported (self ) -> bool :
112
+ pass
113
+
109
114
@abstractmethod
110
115
def generate (self ) -> str :
111
116
"""
@@ -134,6 +139,10 @@ def __init__(
134
139
self .imports : dict [str , set [str ]] = defaultdict (set )
135
140
self .module_imports : set [str ] = set ()
136
141
142
+ @property
143
+ def views_supported (self ) -> bool :
144
+ return True
145
+
137
146
def generate_base (self ) -> None :
138
147
self .base = Base (
139
148
literal_imports = [LiteralImport ("sqlalchemy" , "MetaData" )],
@@ -482,6 +491,9 @@ def render_column(
482
491
if comment :
483
492
kwargs ["comment" ] = repr (comment )
484
493
494
+ return self .render_column_callable (is_table , * args , ** kwargs )
495
+
496
+ def render_column_callable (self , is_table : bool , * args : Any , ** kwargs : Any ) -> str :
485
497
if is_table :
486
498
self .add_import (Column )
487
499
return render_callable ("Column" , * args , kwargs = kwargs )
@@ -1331,10 +1343,7 @@ def generate_base(self) -> None:
1331
1343
LiteralImport ("sqlalchemy.orm" , "MappedAsDataclass" ),
1332
1344
],
1333
1345
declarations = [
1334
- (
1335
- f"class { self .base_class_name } (MappedAsDataclass, "
1336
- "DeclarativeBase):"
1337
- ),
1346
+ (f"class { self .base_class_name } (MappedAsDataclass, DeclarativeBase):" ),
1338
1347
f"{ self .indentation } pass" ,
1339
1348
],
1340
1349
metadata_ref = f"{ self .base_class_name } .metadata" ,
@@ -1359,6 +1368,14 @@ def __init__(
1359
1368
base_class_name = base_class_name ,
1360
1369
)
1361
1370
1371
+ @property
1372
+ def views_supported (self ) -> bool :
1373
+ return False
1374
+
1375
+ def render_column_callable (self , is_table : bool , * args : Any , ** kwargs : Any ) -> str :
1376
+ self .add_import (Column )
1377
+ return render_callable ("Column" , * args , kwargs = kwargs )
1378
+
1362
1379
def generate_base (self ) -> None :
1363
1380
self .base = Base (
1364
1381
literal_imports = [],
0 commit comments