flask-admin:在特定条件下取消对模型的更新

2 投票
1 回答
828 浏览
提问于 2025-04-18 01:42

我正在使用flask-admin的ModelView类,并且搭配SQLalchemy。我想在on_model_change()这个函数里面检查一个特定的条件,如果条件满足,就取消对模型的更新。我该怎么做呢?

当创建一个新模型时,我能通过这样的方法来取消更改(虽然这不是我最喜欢的做法):

if is_created is True:
    if model.some_condition is True:
        self.delete_model(model)

不过,我找不到在修改现有条目时取消更新的方法。

我也试过return False,但这并没有奏效。

1 个回答

1

你可以重写 on_model_change 这个方法,并在里面抛出一个异常。如果你的应用是在调试模式下运行,它会显示一个叫做werkzeug的调试工具;如果是在发布模式下运行,它会在一个提示框里显示异常的文本。

撰写回答