Model.create() option to skip saving immediately
Well... you can wrap your operations in a transaction, using `atomic()`. `atomic()` is a context-manager or decorator, but if you want to use it in the above middleware-type API, you should be able to:

```python

class TransactionPerRequest(object):
    def process_request(self, req, resp):
        req._txn = self.db.atomic()
        req._txn.__enter__()

    def process_response(self, req, resp, resource):
        if not self.db.is_closed():
            req._txn.__exit__(None, None, None)
            self.db.close()

    def __init__(self, db):
        self.db = db
``` Will this also prevent (non-null, etc) constraints from being validated on creation time? A way to enable a delay to actual saving time would be great. > Will this also prevent (non-null, etc) constraints from being validated on creation time?

It should, as the INSERTs are executed -- they are simply executed in a transaction which is not committed until the `atomic` block exits (which is in the process_response example).

If you're trying to postpone actually inserting the records (and dealing with any integrity-errors, etc) -- I'd suggest using a Queue and pushing the models into it, then at the end of the request consume the queue and save all the models.
From what I can see in the source code, there is no option to postpone saving:
https://github.com/coleifer/peewee/blob/master/peewee.py#L5160

How do I postpone saving? I wish to do some object modification and having a single db request would be more economical.

Should I wrap the `create` call in `db.atomic()`? Like in https://github.com/coleifer/peewee/blob/master/peewee.py#L5214

Currently I wrap it with the following falcon-middleware:
```python
class TransactionPerRequest(object):
    def process_request(self, req, resp):
        self.db.connect()
        self.db.begin()

    def process_response(self, req, resp, resource):
        if not self.db.is_closed():
            self.db.commit()
            self.db.close()

    def __init__(self, db):
        self.db = db
```

but the model is not updated, unless `save()` is called explicitly again after `create()`.

Thanks!