首页 文章

Flask-Admin:在“创建”表单中创建子对象和父对象

提问于
浏览
3

在我的Flask / SQLAlchemy应用程序中,我有SQLAlchemy类Parent和Child,其中有关每个Parent的所有有趣数据都在其子代中:

class Parent(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    children = relationship(Child)

class Child(Base):
    __tablename__ = 'child'
    id = Column(Integer, primary_key=True)
    parent_id = Column(Integer, ForeignKey('parent.id'))
    name = Column(String)

我想在Flask-Admin UI中创建Parent,当我创建它们时,我希望能够同时创建它们的Child对象 . 当我在默认的ModelView for Parent中转到“创建”表单时,我只能从菜单中选择现有的Child对象,而不是创建新的对象 .

例如,在创建每个父项时,我希望有一个文本字段,我可以在其中键入Child对象的“名称”,这样当Flask-Admin创建Parent时,它还会在其“name”列中创建具有这些值的Child对象 .

这可能与Flask-Admin有关吗?或者如果没有,我将如何自定义Flask-Admin ModelView来执行此操作?

1 回答

  • 0

    我想你正在寻找inline models .

    您可以在示例中使用它们:

    class ParentModelView(ModelView):
        inline_models = (Child, )
    

相关问题