【问题标题】:Cannot remove last field from input in panel无法从面板中的输入中删除最后一个字段
【发布时间】:2015-06-02 19:48:04
【问题描述】:

在 Flask 面板中,我有继承嵌入文档的类,并且在里面

persons = db.ListField(db.ReferenceField('Person', required=False, null=True), default=[], required=False)

当我想通过 Flask 管理面板从我的输入字段中删除最后一个人时,它会保存文档但不删除,当我有两个时我可以删除一个,但当我尝试删除第二个时不能保持空白。我尝试了使用标志的不同组合,并在 pre_save 和 post_save 中设置了断点,但是在这两种情况下,当我删除最后一个 Person 时,它表明该人仍在内部。如何从 Form 中移除这个约束?

【问题讨论】:

    标签: mongodb flask mongoengine flask-admin flask-mongoengine


    【解决方案1】:

    当您提交带有空列表的表单时,flask-admin 方面似乎没有任何反应。所以我使用 on_model_change 方法做了一个技巧,在你的情况下它看起来像这样:

      def on_model_change(self, form, model, is_created):         
        if not 'persons' in request.form :                        
            model.persons = []
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多