У меня есть файл с именем filterspecs.py
, который содержит 3 вещи:
tls = threading.local()
- класса A, который наследуется от
django.contrib.admin.views.main.ChangeList
- класса Bкоторая наследуется от
django.contrib.admin.filterspecs.FilterSpec
Цель : я хочу передать значение list
, доступное экземпляру A
, экземпляру B
,Поскольку жизненный цикл A и B управляется платформой (Django), я не могу придумать частный способ передачи данных между экземплярами (использование Queue
было бы излишним).
Попытка # 1 завершается неудачно при использовании режима WSGI (daemon).В классе A список добавляется в локальный поток.
1. tls.list_display = ['foo', 'bar']
Но в классе B следующее возвращает False
:
2. hasattr(tls, 'list_display')
Просто для сравнения, это работает за пределамиapache / mod_wsgi, если я запускаю его через
manage.py runserver
Я просмотрел журналы и обнаружил, что разные потоки выполняли строки 1 и 2.
Какими еще способами я могу решить эту проблему?* * 1037