1

尽管 Flask 应用程序的性能很好,但我在 Flask-Admin 中面临性能问题。

我的模型是:

class Ck(Base):
    __tablename__ = "ck"
    id = Column(Integer, primary_key=True, autoincrement=True)
    nazev = Column(String(100))
    kontakt = Column(Text)
    terms = relationship(Term, backref=backref('ck', lazy='noload'), lazy='dynamic')


class Term(Base):
    __tablename__ = "term"
    id = Column(Integer, primary_key=True, autoincrement=True)
    hotel_id = Column(Integer, ForeignKey('hotel.id'))
    ck_id = Column(Integer, ForeignKey('ck.id'))
    ...
    addons = relationship(Addon, secondary=term_addon, backref=backref('term', lazy='noload'), lazy='dynamic')


class Hotel(Base):
    __tablename__ = "hotel"
    id = Column(Integer, primary_key=True, autoincrement=True)
    country_id = Column(Integer, ForeignKey('country.id'))
    area_id = Column(Integer, ForeignKey('area.id'))
    ...
    photos = relationship(Photo, backref=backref('hotel', lazy='select'), lazy='dynamic')
    terms = relationship(Term, backref=backref('hotel', lazy='noload'), lazy='dynamic')


class Addon(Base):
    __tablename__ = "addon"
    id = Column(Integer, primary_key=True, autoincrement=True)
    ...

术语确实有很多记录,插件中的记录更多。如果我在 Flask-Admin 中单击到任何地方以获取酒店、期限、Ck 或插件的详细信息,这是不可能的,因为它直到超时才会完成。

请你能告诉我在哪里可以改进它吗?谢谢

4

1 回答 1

3

启用 AJAX 外键加载。见这里: http: //flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.form_ajax_refs

于 2014-05-03T05:41:52.903 回答