我的用户应该能够为我的表创建新行,但当我在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']