Possible bug with distinct count
This is because Peewee wraps any query that executes a `.count()`, so the actual sql that peewee ends up executing looks like:

```sql
-- Post.select(Post.author_id).distinct().count()
SELECT COUNT(1) FROM (
  SELECT DISTINCT "t1"."user_id" FROM "tweet" AS "t1"
) AS "_wrapped"
```

The second example, however, Peewee does not infer that there is important information it is supposed to capture inside the selected columns, and so we end up with:

```sql
-- Post.select(Post.author_id.distinct()).count()
SELECT COUNT(1) FROM (SELECT 1 FROM "tweet" AS "t1") AS "_wrapped"
```

So what you should do is either:

* `Post.select(Post.author_id).distinct().count()`
* `Post.select(fn.COUNT(Post.author_id.distinct())).scalar()`
I think we encountered a bug with the `.count()` method when applied on distinct column.

To reproduce:

```python
actual_qry = Post.select(Post.author_id).distinct()
buggy_qry = Post.select(Post.author_id.distinct())

actual_qry.sql() == buggy_qry.sql()
# True

actual_qry.count() == buggy_qry.count()
# False
```