Перезагрузка переменных данных из БД без перезапуска 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
, что может привести к непредсказуемым последствиям для вашего глобала)