我有这两个模型:
@derive_schema
class Organization(db.Model):
id = Column(UUID(as_uuid=True), unique=True, primary_key=True, server_default=sqlalchemy.text("uuid_generate_v4()"))
name = Column(String, nullable=False, unique=True)
code = Column(String, nullable=False, unique=True)
owner_email = Column(String, nullable=False)
labels = Column(JSONB)
status = Column(Enum(OrganizationStatus), nullable=False)
logo_url = Column(String)
configuration = Column(JSONB, nullable=False)
def __repr__(self):
return self.name
@derive_schema
class PortalSettings(db.Model):
id = Column(UUID(as_uuid=True), unique=True, primary_key=True, server_default=sqlalchemy.text("uuid_generate_v4()"))
organization_id = db.Column(UUID(as_uuid=True), ForeignKey('organization.id'), nullable=False)
portal_settings = Column(JSONB)
organization = relationship(Organization, backref=backref('portal_settings', uselist=False, lazy="joined"))
def __repr__(self):
return self.portal_settings
和此ModelView
class OrganizationView(ConfigurationModelView):
inline_models = (PortalSettings,)
组织和门户设置之间的关系应该一对一,
但是我不明白为什么在flask admin中我可以添加任意数量的门户设置而不是仅看到带有portal_settings
JSONB字段的输入字段
答案 0 :(得分:0)
基于这个要点 https://gist.github.com/DrecDroid/398a05e4945805bc09d1
我已经在 Flask-Admin 存储库上创建了 PR,也许很快它就会被合并。无论如何,您可以从 Gist 复制粘贴代码并在您的项目中使用它