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



我的用户应该能够为我的表创建新行,但当我在Flask AppBuilder中使用加号按钮时,主键不会显示,并且生成的SQL INSERT语句缺少主键,这显然失败了。

如何让Flask AppBuilder显示新行的主键?

示例

型号.py

class 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)

视图.py

class CatalogueView(ModelView):
datamodel = SQLAInterface(Catalogue)
label_columns = {'label':'Name', }
list_columns = ['id', 'label', 'type']
related_views = [ClassifiedView]

现在,当我运行应用程序时,我可以看到";id";视图CCD_ 1中的字段。

然而,当我在http://127.0.0.1:5000/catalogueview/show/myexamplecatalogue处进入细节视图时;id";被隐藏,并且当使用http://127.0.0.1:5000/catalogueview/add创建新条目时也会发生同样的情况,然后如上所述失败。

如何阻止Flask AppBuilder隐藏主键并成功创建新条目?

根据@IljaEverilä的建议,可以使用;编辑列";属性:

class CatalogueView(ModelView):
datamodel = SQLAInterface(Catalogue)
label_columns = {'label':'Name', }
list_columns = ['id', 'label', 'type']
related_views = [ClassifiedView]
edit_columns = ['id', 'label', 'type']

最新更新