Problems using both Window() and dicts() in window functions
Yes, aliases must be used when you want to have Python identifiers or dict keys. Peewee tries to determine the column name to use based on whatever the cursor indicates, but when you have an expression (like `SUM("t1"."value") OVER "w"`) then Peewee's column-name code can't really figure out what to call it.
version: 3.14.10
in the documentation example: http://docs.peewee-orm.com/en/latest/peewee/querying.html#reusing-window-definitions
```
win = Window(order_by=[Sample.id])
query = Sample.select(
    Sample.counter,
    Sample.value,
    fn.LEAD(Sample.value).over(win),
    fn.LAG(Sample.value).over(win),
    fn.SUM(Sample.value).over(win)
).window(win)  # Include our window definition in query.

for row in query.tuples():
    print(row)

# counter  value  lead()  lag()  sum()
# 1          10.     20.   NULL    10.
# 1          20.      1.    10.    30.
# 2           1.      3.    20.    31.
# 2           3.    100.     1.    34.
# 3         100.    NULL     3.   134.
```
If using dicts(), the field name becomes `value") OVER w`
If namedtuples() is used, raise ValueError: Type names and field names must be valid identifiers: 'value") OVER w'

If alias is specified for each field, it can be used normally