flask-admin 重写字段为 SelectField 如何保存 int 值?

2018-04-17 17:10:22 +08:00
 coolair
    column_choices = {
        'state': [(0, 'OK'), (1, 'Failed'), (2, 'Unknown')]
    }

    form_overrides = dict(
        state=SelectField
    )

    form_args = dict(
        state=dict(coerce=int, choices=[(0, 'OK'), (1, 'Failed'), (2, 'Unknown')], validators=[Optional()])
    )

想让 state 这个字段保存 0,1,2 这样的整形,但是在列表上展示的时候显示对应 choice 的 text。

我按上面这样写,列表刷新直接报错

TypeError: 'NoneType' object is not iterable

但是改成

choices=[('0', 'OK'), ('1', 'Failed'), ('2', 'Unknown')]

就没有问题,不过列表页就不能显示 choice 对应的 text 了,而是值。

962 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/447543

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX