Help on select() and get() methods
The problem is here. Calling `query.get()` returns a model instance (if one exists) or raises a `DoesNotExist` if not. You are comparing the return value to `is True` -- and while the result (a model instance) is "truthy", it is *not* `True` - it is a model instance.

```python
if q.get_user_status(user_id=123456) is True:
    print("Subscribed")
else:
    print("Not subscribed yet")
```

You should instead write:

```python
try:
    user = q.get_user_status(user_id=123456)
except q.TgUser.DoesNotExist:
    # user with id=123456 does not exist
    print('user does not exist')
else:
    if user.subscribed:
        print('subscribed')
    else:
        print('not subscribed')
``` omg... Thank you very much! > < It's working now!
And sorry for taking your time to this kind of question :') I'll study further!
I've already searched for solutions in the Issues, but couldn't find an answer, nor understand properly :')
OS: Windows
Python: 3.6.8, 3.9.6
IDE: VSCode
Tested purposely in 3.6.8 (saw the peewee is developed with that version). Thought maybe I can get the code work.
The ```TgUser.select(TgUser.subscribed).where(TgUser.user_id == id)``` line is just doesn't work properly. It should be returning True (as in the db, the subscribed record is set to True for that user)
Here's my rough code:
`queries.py`
```python
from datetime import date

import peewee as p

db = p.SqliteDatabase('database.db')


class TgUser(p.Model):
    user_id = p.IntegerField(unique=True)
    username = p.CharField(null=True)
    first_name = p.CharField()
    last_name = p.CharField(null=True)
    msg_count = p.IntegerField(default=0)
    subscribed = p.BooleanField()
    joined = p.DateField()
    bot_status = p.CharField(default='member')

    class Meta:
        database = db


def create_db():
    db.create_tables([TgUser])
    return db

def register_user(values: dict, joined: date, subscribed: bool) -> bool:
    user = {}
    for x in ['user_id', 'username', 'first_name', 'last_name']:
        user.update({x: values.get(x, None)})
    data, exist = TgUser.get_or_create(**user, joined=joined, subscribed=subscribed)
    return exist

def get_user_status(user_id: int) -> bool:
    q = TgUser.select(TgUser.subscribed).where(TgUser.user_id == user_id)
    return q.get()
```
`test.py`
```python
import queries as q
from datetime import datetime

db = q.create_db()

values = {
    'user_id': 123456,
    'username': '@some_user',
    'first_name': 'SomeUser',
}
q.register_user(values, joined=datetime.now(), subscribed=True)
if q.get_user_status(user_id=123456) is True:
    print("Subscribed")
else:
    print("Not subscribed yet")
```

Out:
`Not subscribed yet`

Please help, any suggestion is appreciated! I just wanted to stop writing raw SQL queries