add jsonb in postgresql

This commit is contained in:
huangsong
2021-12-21 16:33:50 +08:00
parent 14b30baf40
commit 070ff023a0
2 changed files with 30 additions and 0 deletions

View File

@ -520,6 +520,29 @@ class JSON(ModelFieldFactory, pydantic.Json):
return sqlalchemy.JSON()
class JSONB(JSON):
"""
JSONB field factory that construct Field classes and populated their values,
only support postgresql
"""
_type = pydantic.Json
_sample = '{"jsonb": "jsonb"}'
@classmethod
def get_column_type(cls, **kwargs: Any) -> Any:
"""
Return proper type of db column for given field type.
Accepts required and optional parameters that each column type accepts.
:param kwargs: key, value pairs of sqlalchemy options
:type kwargs: Any
:return: initialized column with proper options
:rtype: sqlalchemy Column
"""
return sqlalchemy.dialects.postgresql.JSONB()
if TYPE_CHECKING: # pragma: nocover # noqa: C901
@overload