Перезагрузка переменных данных из БД без перезапуска Django

У меня есть функция в Django Views.py и я использую данные в другой функции, но если пользователь меняет True на False, я хочу обновить ее без необходимости перезапуска Django.

def update_list():
    global processess
    processess = botactive.objects.filter(active=True).values_list('user')


update_list()

Я использую processess, который извлекает пользователей, у которых поле модели установлено в True, но если они устанавливают его в False, я хочу не включать их, если есть новый запрос.

listi = [row[0] for row in processess] 
def wallet_verify(listi):
    # print(listi)
    database = Bybitapidatas.objects.filter(user = listi)
    ...

Это запрос, который я делаю и хочу, чтобы он использовал свежие данные без перезапуска Django, а также на python и не используя html.

def verifyt(request):
    with ProcessPoolExecutor(max_workers=4, initializer=django.setup) as executor:
        results = executor.map(wallet_verify, listi)
    return HttpResponse("done")
    

Пренебрегая относительными достоинствами глобальных файлов в Django на данный момент, вы можете просто воссоздать запрос в verifyt(), чтобы убедиться в его свежести.

def verifyt(request):
    v_processess = botactive.objects.filter(active=True).values_list('user')
    v_listi = [row[0] for row in v_processess] 
    
    with ProcessPoolExecutor(max_workers=4, initializer=django.setup) as executor:
        results = executor.map(wallet_verify, v_listi)
    return HttpResponse("done")

(Стоит отметить, что запросы в Django оцениваются лениво, поэтому, судя по всему, ваш запрос не будет выполнен до тех пор, пока не будет установлено значение listi, что может привести к непредсказуемым последствиям для вашего глобала)

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