Функция не обновляется в asyncio

Я пишу бота на aiogram с бэкендом на django для postgresql (была та же проблема до конвертации из чистого psycopg2).

Одно из конечных состояний, в котором я нахожусь, должно постоянно проверять обновления в БД, только этого не происходит. Вот код для цикла в боте:

@dp.message_handler(state=Current.start_state)
async def func(msg: types.Message, state: FSMContext):
    async def res():
        return await function(args)

    global ticket
    ticket = await res()

    while ticket == -1:
        ticket = await res()
        if ticket == -1:
            await asyncio.sleep(3)
            print(ticket) #debugging

Я пробовал без функции:

@dp.message_handler(state=Current.start_state)
async def func(msg: types.Message, state: FSMContext):

    global ticket 
    ticket = await function(args)

    while ticket == -1:
        ticket = await function(args)
        if ticket == -1:
            await asyncio.sleep(3)
            print(ticket )

И многие другие комбинации, включая создание условия цикла while = True и прерывание цикла при выполнении условия. И я могу вас заверить, результаты меняются, я вижу это в pgAdmin4 и запуская эту функцию отдельно в другом скрипте во время работы бота. Кажется, что иногда это работает, если я вручную изменяю информацию в DB, и даже тогда, не всегда. В основном, пока этот цикл выполняется для пользователя A, другой пользователь B добавляет материал в DB, который должен отображаться для пользователя A. Когда это делается через бота, информация пользователя A не обновляется вообще, в отличие от изменения информации в DB вручную. Кажется, что все работает правильно, когда я использую time.sleep(), но это, очевидно, блокирует поток, и никто больше не может использовать бота.

Это функция, которая запрашивает базу данных:

@sync_to_async
def function(args):

    admin = User.objects.get(username=args)
    ticket = Tickets.objects.filter(admin_nick=admin, accepted=None)[:1]

    if ticket:
        return ticket.values()[0]
    else:
            return -1

Мне пришлось использовать декоратор sync_to_async, потому что я не знаю лучшего способа сделать функцию django async.

Вернуться на верх