SQL Syntax Error in Model.save() when row is empty
This seems contrived and I'm wondering how it even would come about in practice. Your model definition does not match the UPDATE statement you've shared, either.

When you instantiate a model, it has an empty data dict. If you call `.create()` without any kwargs, this is effectively the same as instantiating w/no data. So when you go to save this model in a subsequent call, having not set any values, there's nothing going on there. I've chosen to raise a `ValueError` in this case, but I do believe that in practice it would take some rather contrived workflow to actually encounter this. It came about because I misread docs, and called `.save` immediately after `.create`. The lack of a useful error (now fixed) is why I brought it up, as it took an hour and a fresh set of eyes to figure out why.
When `save()` is called on a row with nothing to save, there is a SQL syntax error caused by a lack of fields to update: `('UPDATE "foo" SET  WHERE ("foo"."foo" = ?)', [0])`.

<details><summary>MCVE</summary>

    from peewee import IntegerField, Model, SqliteDatabase
    
    db = SqliteDatabase(':memory:')    
    
    
    class Foo(BaseModel):
        foo = IntegerField(null=True)

        class Meta:
            database = db
    
    
    db.create_tables([Foo])
    
    foo = Foo.create()
    
    # peewee.OperationalError: near "WHERE": syntax error
    # ('UPDATE "foo" SET  WHERE ("foo"."foo" = ?)', [0])
    foo.save()

</details>