为了账号安全,请及时绑定邮箱和手机立即绑定

Flask-AppBuilder 如何在创建时设置主键?

Flask-AppBuilder 如何在创建时设置主键?

汪汪一只猫 2023-07-11 13:55:55
我的用户应该能够为我的表创建新行,但是当我在 Flask-AppBuilder 中使用加号按钮时,不会显示主键,并且生成的 SQL INSERT 语句缺少主键,这显然会失败。如何让 Flask-AppBuilder 显示新行的主键?例子models.pyclass Catalogue(Model):                                                                                                                                                                                                                                                                                                           id = Column(String(200), primary_key=True)    label =  Column(String(200), nullable=False)    type =  Column(Enum("UserGroup","ApplicationSystem","Feature","EnterpriseFunction","OrganizationalUnit"), nullable=False)views.pyclass CatalogueView(ModelView):    datamodel = SQLAInterface(Catalogue)    label_columns = {'label':'Name', }    list_columns = ['id', 'label', 'type']    related_views = [ClassifiedView]现在,当我运行应用程序时,我可以在视图中看到“id”字段http://127.0.0.1:5000/catalogueview/list/。但是,当我进入详细信息视图时http://127.0.0.1:5000/catalogueview/show/myexamplecatalogue,主键字段“id”被隐藏,并且使用创建新条目时也会发生同样的情况http://127.0.0.1:5000/catalogueview/add,然后如上所述失败。如何阻止 Flask-AppBuilder 隐藏我的主键并成功创建新条目?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

可以使用“edit_columns”属性添加:


class CatalogueView(ModelView):

  datamodel = SQLAInterface(Catalogue)

  label_columns = {'label':'Name', }

  list_columns = ['id', 'label', 'type']

  related_views = [ClassifiedView]

  edit_columns = ['id', 'label', 'type']


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信