我有一个Order对象,ID为5的Order对象的编辑界面如下所示:/ admin / order / edit /?id = 8&amp; url =%2Fadmin%2Forder%2F < / p>
如果我在Order对象上有一个名为invoice的字段,是否可以使用发票字段在编辑屏幕上使用URL结束点?
答案 0 :(得分:0)
通常,使用 column_extra_row_actions ,您可以创建一个接受 row_id (在您的情况下为Order.ID)作为参数的操作,并且您可以指定一个将获取'发票'。
或者,您可以向数据库中不存在的视图添加一个额外的列,并使用适当的链接填充它。
from flask import Markup
class MyModelView(ModelView):
....
column_list = ['edit link'] + the_rest_of_columns_you_display
column_formatters = {'edit link': lambda v, c, m, n: Markup('''
<a href='/admin/order/edit/?invoice=%d'>Edit</a>
''' % m.invoice }
此外,您需要覆盖edit_view function,以便它接受您需要的任何参数以及相应的模板。