Skip to content

Commit f10fa32

Browse files
committed
added json_columns to TableMeta
1 parent 6f44f4b commit f10fa32

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

piccolo/table.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@
88

99
from piccolo.engine import Engine, engine_finder
1010
from piccolo.columns import Column, Selectable
11-
from piccolo.columns.column_types import ForeignKey, PrimaryKey, Secret
11+
from piccolo.columns.column_types import (
12+
ForeignKey,
13+
JSON,
14+
JSONB,
15+
PrimaryKey,
16+
Secret,
17+
)
1218
from piccolo.columns.readable import Readable
1319
from piccolo.columns.reference import (
1420
LazyTableReference,
@@ -50,6 +56,7 @@ class TableMeta:
5056
default_columns: t.List[Column] = field(default_factory=list)
5157
non_default_columns: t.List[Column] = field(default_factory=list)
5258
foreign_key_columns: t.List[ForeignKey] = field(default_factory=list)
59+
json_columns: t.List[t.Union[JSON, JSONB]] = field(default_factory=list)
5360
secret_columns: t.List[Secret] = field(default_factory=list)
5461
tags: t.List[str] = field(default_factory=list)
5562
help_text: t.Optional[str] = None
@@ -159,6 +166,7 @@ def __init_subclass__(
159166
non_default_columns: t.List[Column] = []
160167
foreign_key_columns: t.List[ForeignKey] = []
161168
secret_columns: t.List[Secret] = []
169+
json_columns: t.List[t.Union[JSON, JSONB]] = []
162170

163171
cls.id = PrimaryKey()
164172

@@ -197,6 +205,9 @@ def __init_subclass__(
197205
if isinstance(column, ForeignKey):
198206
foreign_key_columns.append(column)
199207

208+
if isinstance(column, (JSON, JSONB)):
209+
json_columns.append(column)
210+
200211
cls._meta = TableMeta(
201212
tablename=tablename,
202213
columns=columns,

0 commit comments

Comments
 (0)