UUIDField with bulk_update fails
See #2308
Summary
---
It appears using `Model.bulk_update` with a model using a `UUIDField` fails.

Minimal Example
---
```python
def test_uuid_bulk_update(db):

    n_rows = 1_000

    class Foo(peewee.Model):
        class Meta:
            database = db

        pk = peewee.IntegerField(primary_key=True)
        bar = peewee.UUIDField()

    if Foo.table_exists():
        Foo.drop_table()
    Foo.create_table()

    data = [
        {"pk": i, "bar": uuid.uuid3(uuid.NAMESPACE_URL, f"{i}")} for i in range(n_rows)
    ]

    with db.atomic():
        Foo.bulk_create((Foo(**kwargs) for kwargs in data))

    updates = [
        {"pk": item["pk"], "bar": uuid.uuid3(uuid.NAMESPACE_URL, f"{i*1.5}")}
        for i, item in enumerate(data[:100])
    ]


    # Saving them individually works fine.
    # for update in updates: 
    #  Foo(**update).save()
    
    #  This fails.
    Foo.bulk_update([Foo(**kwargs) for kwargs in updates], fields=["bar"])
```

Using a `TextField` instead will work fine in the code above.


Error
---
```
>         with __exception_wrapper__:
            cursor = self.cursor(commit)
            try:
               cursor.execute(sql, params or ())
E               psycopg2.errors.DatatypeMismatch: column "bar" is of type uuid but expression is of type text
E               LINE 1: UPDATE "foo" SET "bar" = CASE "foo"."pk" WHEN 0 THEN 'e0a687...
E                                                ^
E               HINT:  You will need to rewrite or cast the expression.
```
