Панель администратора поколения с пользовательским типом столбца в 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),
}})