Не отрабатывает сигнал m2m_changed на проде при settings.DEBUG = False.
Один и тот же код запускаемый из одного и того же места, почему-то так сильно зависит от флажка DEBUG. Хотя я в своем коде использую сигналы только в одном месте, когда подписываюсь на них в ready().
Что это может быть за лютая чертовщина? (O_o)
P.S. Python 3.6.9; Django 3.2; uWSGI
from django.apps import AppConfig
from django.db.models.signals import m2m_changed
from django.dispatch import receiver
class BaseConfig(AppConfig):
name = 'base'
def ready(self):
from django_currentuser.middleware import get_current_user
from . import models
@receiver(m2m_changed, sender=models.Feed.variants.through)
def log_variant_feeds(action, instance, model, pk_set, **kwargs):
actions = {
'post_add': ['Добавлен фид', 'after'],
'post_remove': ['Удален фид', 'before'],
}
if action not in actions:
return
user = get_current_user()
for feed in model.objects.filter(pk__in=pk_set):
models.Log.objects.create(
variant=instance,
user=user,
action=actions[action][0],
**{actions[action][1]: feed.name})
Updated 1 Sept. 2021, 13:51 by Yuri.Djur.