Панель администратора поколения с пользовательским типом столбца в Websauna

У меня есть модель SQLAlchemy с пользовательским типом ChoiceType, который исходит от sqlalchemy_utils библиотека.

class Recipient(Base, BaseMixin):
    first_name = Column(String())
    last_name = Column(String())
    social_network = Column(ChoiceType(SOCIAL_NETWOKRS))

Где SOCIAL_NETWOKRS SOCIAL_NETWOKRS = [ ('vk', 'Vkontakte'), ('fb', 'Facebook'), ('youtube', 'Youtube'), ]

При входе в админ-панель для редактирования моей модели я получил следующую ошибку:

NotImplementedError: Not able to derive a colander type from sqlalchemy type: ChoiceType(length=255) Please explicitly provide a colander `typ` for the "social_network" Column.

Как обойти ограничение с сохранением автогенерации административной панели?

1 ответ

Я переезжаю из sqlalchemy_utils и добавить прямую проверку от дуршлаг.

Следующий фрагмент работает как положено:

class Account(BaseMixin, Base):
    social_network = Column(String(), info={'colanderalchemy': {
        'typ': colander.String(),
        'widget': deform.widget.SelectWidget(values=SOCIAL_NETWOKRS),
    }})
Другие вопросы по тегам