1

根据Model Views上的文档,我在 models.py 中构建了以下模型:

class SoftwareProduct(Model):
    suffix = Column(String(200), primary_key=True)
    label =  Column(String(200), nullable=False)
    comment =  Column(String)                                                                                                                                                                                                                                                                                                 
    coderepository =  Column(String(200))

表“softwareproduct”存在于数据库中并且有几个条目。我假设它会自动将类“SoftwareProduct”链接到表“softwareproduct”,因为我没有看到任何手动链接它的选项。如果有并且缺少,请告诉我。有一个视图views.py

class SoftwareProductView(ModelView):
    datamodel = SQLAInterface(SoftwareProduct)                                                                                                                                                                                                                                                                                
    label_columns = {'label':'Name', 'comment':'Comment'}

[...]

db.create_all()
                                                                                                                                                                                                                                                                                                                              
appbuilder.add_view(
    SoftwareProductView,
    "Software Product",
    icon = "fa-folder-open-o",
    category = "Software Product",
    category_icon = "fa-envelope"
)

但是,当我启动应用程序时,我得到“未找到记录”。如何让 FAB 显示现有记录?

我使用 Python 3.8.5 和 Flask 1.1.2 和 PostgreSQL 数据库。

我知道数据库连接有效,因为 FAB 创建了用户表并且我可以登录。

4

1 回答 1

1

Flask-AppBuilder 将像 SoftwareProduct 这样的驼峰名称映射到像 software_product 这样的下划线表名,但表名是 softwareproduct。要修复映射,请将类名从“SoftwareProduct”更改为“Softwareproduct”。

于 2020-08-20T11:46:06.340 回答