Commit ccf7f49a authored by Mark's avatar Mark

added json support for peewee postgresql backend

parent 26ed0bb9
...@@ -3,6 +3,8 @@ from wtforms import fields ...@@ -3,6 +3,8 @@ from wtforms import fields
from peewee import (CharField, DateTimeField, DateField, TimeField, from peewee import (CharField, DateTimeField, DateField, TimeField,
PrimaryKeyField, ForeignKeyField, BaseModel) PrimaryKeyField, ForeignKeyField, BaseModel)
from playhouse.postgres_ext import ArrayField, JSONField, BinaryJSONField
from wtfpeewee.orm import ModelConverter, model_form from wtfpeewee.orm import ModelConverter, model_form
from flask_admin import form from flask_admin import form
...@@ -98,6 +100,8 @@ class CustomModelConverter(ModelConverter): ...@@ -98,6 +100,8 @@ class CustomModelConverter(ModelConverter):
self.converters[DateTimeField] = self.handle_datetime self.converters[DateTimeField] = self.handle_datetime
self.converters[DateField] = self.handle_date self.converters[DateField] = self.handle_date
self.converters[TimeField] = self.handle_time self.converters[TimeField] = self.handle_time
self.converters[JSONField] = self.handle_json
self.converters[BinaryJSONField] = self.handle_json
self.overrides = getattr(self.view, 'form_overrides', None) or {} self.overrides = getattr(self.view, 'form_overrides', None) or {}
...@@ -127,6 +131,9 @@ class CustomModelConverter(ModelConverter): ...@@ -127,6 +131,9 @@ class CustomModelConverter(ModelConverter):
def handle_time(self, model, field, **kwargs): def handle_time(self, model, field, **kwargs):
return field.name, form.TimeField(**kwargs) return field.name, form.TimeField(**kwargs)
def handle_json(self, model, field, **kwargs):
return field.name, form.JSONField(**kwargs)
def get_form(model, converter, def get_form(model, converter,
base_class=form.BaseForm, base_class=form.BaseForm,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment