【问题标题】:Modify list template in flask admin在烧瓶管理员中修改列表模板
【发布时间】:2014-09-09 17:46:29
【问题描述】:

我正在使用烧瓶和 Flask-Admin 扩展名。我有两个模型(使用 sql alchemy):

  • 项目
  • 任务

项目具有属性:

tasks = db.relationship('Task', backref=db.backref('project'))

而tasks是一个自引用的树形结构,key列在Task中:

children = db.relationship("Task",

       # cascade deletions
       cascade="all, delete-orphan",

       # many to one + adjacency list - remote_side
       # is required to reference the 'remote'
       # column in the join condition.
       backref=db.backref("parent", remote_side=id),

       # children will be represented as a dictionary
       # on the "title" attribute.
       collection_class=attribute_mapped_collection('title'),
       )

我想要一个来自 Flask-Admin 的列表模板,它可以显示所有项目。这可以通过扩展和标准列表视图轻松完成。但是现在我想为单击项目上的每个应出现的任务添加 CRUD 界面(例如:http://examples.flask-admin.org/sqla/simple/admin/userview/)。

我不知道实现这一目标的最佳方式是什么。我考虑在项目行的每个表格单元格中包含一个用于 Task 的 iframe。但这有点丑陋。如何在项目列表模板中呈现属于其项目的任务的 CRUD 界面?

我知道 Flask-Admin 能够将两个表链接在一起(通过模型中的外键),但标准方式不是我想要的,因为它需要从项目 crud 中获取至少一键任务 crud 接口的接口。我想要的是在同一页面上加载两个 crud 界面。

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    查看文档看起来就像为您的 Project 模型视图提供 inline-models 类属性一样简单:

    class ProjectModelView(ModelView):
        inline_models = (Task, )
    

    【讨论】:

    • 去看看吧!非常感谢您的回答,我真的在这个问题上花了一些时间。
    猜你喜欢
    • 2018-04-15
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多