1

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

  • 项目
  • 任务

项目具有以下属性:

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

任务是一个自引用的树结构,其键列在任务中:

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/)。

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

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

4

1 回答 1

2

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

class ProjectModelView(ModelView):
    inline_models = (Task, )
于 2014-09-09T20:54:06.350 回答