首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-AppBuilder如何在创建时设置主键?

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

Stack Overflow用户
提问于 2020-09-02 21:12:52
回答 1查看 184关注 0票数 0

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

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

示例

models.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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隐藏我的主键并成功创建新条目?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-02 22:06:39

正如@IljaEverilä所建议的,这可以使用"edit_columns“属性添加:

代码语言:javascript
复制
class CatalogueView(ModelView):
  datamodel = SQLAInterface(Catalogue)
  label_columns = {'label':'Name', }
  list_columns = ['id', 'label', 'type']
  related_views = [ClassifiedView]
  edit_columns = ['id', 'label', 'type']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63706300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档