Customize (override) Flask-Admin's Submit method from edit view

前端 未结 2 1628
无人及你
无人及你 2020-12-16 16:14

Preconditions:
I\'m new to Python and to Flask-Admin in particular. I created a simple test service, which has MondoDB, keeping the data with relationship of \'

相关标签:
2条回答
  • 2020-12-16 16:53

    I ended up overriding a save method in my Document-derived class. So now my Employee class contains this kind of code:

    def save(self, *args, **kwargs):
        print 'whatever I want to do myself is here'
        return super(Employee, self).save(*args, **kwargs)
    

    Today I found that this solution is actually nothing new and is described on StackOverflow.

    But for my specific case I think Joes' answer is better. I like it more, because if I override on_model_change I invoke my custom code only if I edit database through Admin webpage; and each programmatic operation over database (like save, update) will work using native code - which is exactly what I want. If I override save method, I will be handling every save operation myself, whether It was initiated by Admin area or programmatically by the server engine.

    Solved, thank you!

    0 讨论(0)
  • 2020-12-16 17:06

    You can override on_model_change method to add your custom logic. Check http://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.on_model_change

    0 讨论(0)
提交回复
热议问题