我实现了一个categories特性来对一个简单的blog上的帖子进行排序,但是flaskadmin在create/edit页面的category字段中提供了查询对象表示。在
我想在下拉菜单中显示每个类别的name
字段,而不是查询对象表示,即:
Cool Stuff
而不是<Category 'Cool Stuff'>
我怀疑这可以通过使用ModelView上的form_args
属性指定一个标签名称来实现,比如:
form_args = dict(
category=dict(label=model.name)
)
但是,我不知道如何从ModelView类中访问模型。我找到了this answer,但它似乎是一个特定的而不是一般的解决方案,不适用于我的案例。在
而且,source code表示模型应该是可用的,但是没有指定如何访问它。在
如何从ModelView中访问模型?如果这是不可能的,是否有另一个解决方案来解决查询对象表示问题?在
编辑:
以下是我目前掌握的代码:
模型.py
^{pr2}$routes.py
class PostModelView(ProBlogModelView):
form_overrides = dict(content=CKTextAreaField)
form_excluded_columns = ['id', 'slug', 'date_created', 'date_modified', ]
form_args = dict(
title=dict(validators=[InputRequired()]),
content=dict(validators=[InputRequired()]),
img=dict(label="Image URL", validators=[InputRequired()]),
)
Flask Admin在默认情况下使用下拉菜单显示Post模型的编辑和创建页面上的现有类别集。该菜单中包含的选项应该是类别模型的每个实例的__repr__
值,而不是其name属性。我的目标是显示名称而不是__repr__
值。在
我已经在Post-admin区域的主列表表中使用了column_formatters
,但是我不清楚如何在编辑/创建页面表单中执行相同的操作。在
目前没有回答
相关问题 更多 >
编程相关推荐