【问题标题】:Flask-Appbuilder Model Relations Using UUID使用 UUID 的 Flask-Appbuilder 模型关系
【发布时间】:2018-07-13 13:31:38
【问题描述】:

我正在开发一个应用程序,它将定义几个模型,这些模型将使用 scqlalchemy_utils 包中的 UUIDType,定义如下视图:

class ChildModelAView(ModelView):
    datamodel = SQLAInterface(ChildA)
    list_columns = ['title', 'description', 'parent_model']

class ChildModelBView(ModelView):
    datamodel = SQLAInterface(ChildB)
    list_columns = ['title', 'description', 'parent_model']

class ParentModelView(ModelView):
    datamodel = SQLAInterface(Parent)
    related_views = [ChildModelAView, ChildModelBView]

我的模型是这样的:

class ChildA(Model):
    id = Column(UUIDType(binary=False), default=uuid.uuid4, primary_key=True)
    parent_id = Column(UUIDType(binary=False), ForeignKey('parent.id'), nullable=False)
    parent = relationship('Parent')


class ChildB(Model):
    id = Column(UUIDType(binary=False), default=uuid.uuid4, primary_key=True)
    parent_id = Column(UUIDType(binary=False), ForeignKey('parent.id'), nullable=False)
    parent = relationship('Parent')

class Parent(Model):
    id = Column(UUIDType(binary=False), default=uuid.uuid4, primary_key=True)

我在启动应用程序时看到所有定义为 UUID 的列的警告:

2018-02-02 19:08:39,244:WARNING:flask_appbuilder.models.filters:Filter type not supported for column: id
2018-02-02 19:08:39,244:WARNING:flask_appbuilder.models.filters:Filter type not supported for column: parent_id

谁能给我展示一个允许使用 UUID 类型(或其他自定义)列进行过滤的工作示例或 sn-p?使用这种类型的所有其他东西似乎都可以正常工作。

谢谢!

【问题讨论】:

    标签: python flask flask-sqlalchemy flask-wtforms flask-appbuilder


    【解决方案1】:

    万一其他人偶然发现同样的问题,FAB 本身似乎有一个解决方案。

    以下是应该解决此问题的 PR:https://github.com/dpgaspar/Flask-AppBuilder/pull/694

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-21
      • 2016-05-31
      • 2014-12-07
      • 2021-01-07
      • 2019-07-26
      • 2020-12-26
      • 2018-05-21
      • 2016-07-08
      相关资源
      最近更新 更多