Using << with an empty list creates an invalid SQL query
Rather than modify the SQL behind-the-scenes, you should check your list at run-time.
 I get that, I'm fine with checking if the list is empty. I'm just against creating an invalid query since it results in a syntax error. The error should be thrown before it gets to the database and not in it. To me this is like having a compiler generate invalid code, something that shouldn't be figured out when you try to run the code, but rather at compile time.

```
psycopg2.ProgrammingError: syntax error at or near ")"
```

I think either of the following solutions are acceptable:
- Throw an error in peewee indicating that the list (iterator) is empty.
- Transform `column << []` into `False` before compiling to SQL.

Not handling this before sending it to the database causes all queries after it to fail (at least on our flask server) with error:

```
peewee.InternalError: current transaction is aborted, commands ignored until end of transaction block
```
