我正在使用Flask-Admin为我的Web应用构建管理仪表板。对于用户/地址关系,我使用的是一对一关系。在用户编辑表单上,我希望能够编辑地址的各个部分(即街道地址,城市或邮政编码),类似于inline_models提供的内容。相反,flask-admin会生成一个选择字段,并且只允许我选择其他地址。
我尝试在UserModelView定义中使用inline_models = ['address']。但是,由于将用户/地址关系配置为uselist = False,我得到了地址对象不可迭代的错误。将uselist切换为True会影响代码的其他部分,因此我宁愿将其保留为False。
通过在功能get_forms中查看flask-admin / contrib / sqla / forms,它被分配了一个一对多的标记,这是驱动选择字段使用的原因。
在进一步研究之前,我想出了最好的办法,看看是否有其他人遇到过这种情况或有建议的修复/解决方法。
models.py
class UserModelView(ModelView):
column_list = [User.username, 'address']
form_columns = (User.username, 'address')
admin = Admin(name='Ask', template_mode='bootstrap3')
admin.add_view(UserModelView(User, db.session))
admin.py
IF((sbi.enrollment_status='Cancelled' OR sbi.enrollment_status='Disenrolled'), CONCAT(HCID, enrollment_status, created_at) IN (SELECT
CONCAT(hcid, enrollment_status, MIN(created_at))
FROM
sbi
WHERE sbi.enrollment_status='Cancelled' OR sbi.enrollment_status='Disenrolled'
Group By hcid),
'--') AS 'Disenroll Date'