如何解决Flask-AppBuilder如何在创建时设置主键? models.py views.py
我的用户应该能够为我的表创建新行,但是当我在Flask-AppBuilder中使用加号按钮时,主键未显示,并且生成的sql INSERT语句缺少主键,显然失败了
如何让Flask-AppBuilder显示新行的主键?
示例
models.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)
views.py
class CatalogueView(ModelView):
datamodel = sqlAInterface(Catalogue)
label_columns = {'label':'Name',}
list_columns = ['id','label','type']
related_views = [ClassifiedView]
现在,当我运行应用程序时,可以在视图http://127.0.0.1:5000/catalogueview/list/
中看到“ id”字段。
但是,当我在http://127.0.0.1:5000/catalogueview/show/myexamplecatalogue
处进入详细信息视图时,主键字段“ id”被隐藏,并且在使用http://127.0.0.1:5000/catalogueview/add
创建新条目时也会发生同样的情况,如上所述,该条目将失败。
如何阻止Flask-AppBuilder隐藏主键并成功创建新条目?
解决方法
如@IljaEverilä所建议,可以使用“ edit_columns”属性添加它:
class CatalogueView(ModelView):
datamodel = SQLAInterface(Catalogue)
label_columns = {'label':'Name',}
list_columns = ['id','label','type']
related_views = [ClassifiedView]
edit_columns = ['id','type']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。