Convenient way to select random records from union
```python
s1 = SomeModel.select().where(...)
s2 = SomeModel.select().where(...)
query = (s1 & s2).order_by(fn.RANDOM())
``` @coleifer 
Whenever I'm trying to iterate through this new query or make a list I get error:
```
peewee.OperationalError: 1st ORDER BY term does not match any column in the result set
```
Does `ModelCompoundSelectQuery` support iterations? What database are you using?

And yes, it supports iteration. The error is in the SQL query. I use mostly `SqliteQueueDatabase` from `playhouse.sqliteq`.
But I also tried this with standard `SqliteDatabase` and got the same error.
Peewee version: `3.2.2`, Python `3.6.3` This works:

```python
class Register(BaseModel):
    value = IntegerField()

class Data(BaseModel):
    key = TextField()

db.create_tables([Register, Data])

for i in range(10):
    Register.create(value=i)

for k in range(10):
    Data.create(key='k%s' % k)

data = Data.select(fn.RANDOM(), Data)
reg = Register.select(fn.RANDOM(), Register)
union = (data | reg).order_by(SQL('1'))
for row in union.tuples():
    print(row)
```

Basically it selects a random value and uses it as the first column in each query. Then in the union query, we order all results by the first column (a random value).
Suppose there are two `SELECT` queries that can't be joined into one by joining `WHERE` clauses for some reason.
Is there any way to get their random ordered union?
Example:
Both this
```
s1 = SomeModel.select().where( some_condition1 )
s2 = SomeModel.select().where( some_condition2 )
s3 = (s1 & s2).order_by(fn.Random())
```
and this
```
s1 = SomeModel.select().where( some_condition1 ).ordered_by(fn.Random())
s2 = SomeModel.select().where( some_condition2 ).ordered_by(fn.Random())
s3 = (s1 & s2)
```
 raise error:
```
peewee.OperationalError: 1st ORDER BY term does not match any column in the result set
```
**My current workaround:**
```
import random
s1 = SomeModel.select().where( some_condition1 )
s2 = SomeModel.select().where( some_condition2 )
s3 = (s1 & s2)
s3_list = list(s3)
random.shuffle(s3_list)
```