callback on record insert, delete and update
No, this is not really supported by Peewee. Rather, you should probably be implementing your callbacks in your application rather than as part of core peewee (along with your validation, or whatever else you need to do). You can, of course, override the `save()` method and do things in there if you wish:

```python

class User(Model):
    first_name = TextField()
    last_name = TextField()
    full_name = TextField()

    def save(self, force_insert=False, only=None):
        self.full_name = self.first_name + ' ' + self.last_name
        return super(User, self).save(force_insert, only)
```

The above will work when you use the model-level APIs like save() / create() -- but will **not** when you use methods like `insert()` / `update()`.

Another way you can handle converting values to database-specific types is by using a custom field class and implementing the `db_value()` / `python_value()` methods. Here are the notes on custom fields: http://docs.peewee-orm.com/en/latest/peewee/models.html#creating-a-custom-field
# Objective
before insert table can  execute python function to convert data 
**e.g.** 
user insert Field intervals in list [2, 2, 1, 2, 2, 2, 1]
then base on list above automatically convert and insert into Field intervals_name with [W, W, H, W, W, W, H] on the same table

**or** 

after insert table can send email to user, base on field email stored on another table 
**e.g.**
```
def after_insert_nav(f, id):
    query_account_0 = (db.account.product == f['product'] )
    rows_account = db(query_account_0).iterselect()
    for row_account in rows_account:
        if row_account.investor.notification:
            mail_to = row_account.investor.email
            subject = 'NAV %s' % row_account.product.name
            messages = response.render('templates/mail/nav.html', 
                                               dict(row = row_account, row_nav = row_nav) )
            attachments = ''
            insert_mail_queue(mail_to, subject, messages, attachments)
```

# question
is it possible to use callback on record insert, delete and update in peewee ?

**ref**
http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#callbacks-on-record-insert-delete-and-update

**n.b.**
objective above can be achieve in [pydal](https://github.com/web2py/pydal)

thanks