flask админ один на один inline_models - PullRequest
0 голосов
/ 27 апреля 2020

у меня есть эти 2 модели:

@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

sqla

...