1

我有一个来自sqlalchemy_utils库的自定义类型 ChoiceType 的 SQLAlchemy 模型。

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.

如何通过保存管理面板的自动生成来绕过限制?

4

1 回答 1

1

我从sqlalchemy_utils漏勺移动并添加直接验证。

下一个片段按预期工作:

class Account(BaseMixin, Base):
    social_network = Column(String(), info={'colanderalchemy': {
        'typ': colander.String(),
        'widget': deform.widget.SelectWidget(values=SOCIAL_NETWOKRS),
    }})
于 2017-01-31T13:20:56.087 回答