【发布时间】:2021-02-12 09:15:27
【问题描述】:
一张图片胜过一千个字。这是我试图在 Flask-Admin 中修复的问题:
我正在尝试通过在模型视图的column_editable_list 中包含字段来编辑列表视图中的字段。字段的值通过外键关系来自另一个表,所以用户从下拉菜单中选择一个值,这是不可见的,我猜是因为视图中的列太多,所以它被压扁了?
有人知道如何在不从列表视图中删除其他列的情况下解决此问题吗?
这是我的模型视图(为了简化 StackOverflow,我删除了很多列):
class StructureView(MyModelView):
"""Flask-Admin view for Structure model (public.structures table)"""
can_create = True
can_edit = True
column_list = (
'structure',
'uno',
'egas',
'power_unit',
)
column_sortable_list = column_list
column_editable_list = column_list
column_labels = dict(
structure="Master Structure Serial",
uno="UNOGAS UNO",
egas="UNOGAS EGAS",
power_unit="Power Unit Serial",
)
这是底层 SQLAlchemy 模型:
class Structure(db.Model):
"""Create a public.structures table representation"""
__tablename__ = 'structures'
id = db.Column(INTEGER, primary_key=True)
structure = db.Column(INTEGER, nullable=False, unique=True)
egas_id = db.Column(INTEGER, db.ForeignKey('public.egas.id'))
egas = relationship('Egas', back_populates='structures') # one-to-many
uno_id = db.Column(INTEGER, db.ForeignKey('public.uno.id'))
uno = relationship('Uno', back_populates='structures') # one-to-many
power_unit_id = db.Column(INTEGER, db.ForeignKey('public.power_units.id'))
power_unit = relationship('PowerUnit', back_populates='structures') # one-to-many
def __repr__(self):
return str(self.structure)
谢谢! 肖恩
【问题讨论】:
标签: python flask flask-sqlalchemy flask-admin