Одиночные данные из поля m2m отношения - Django

В моем сигнале (post_save) я хочу отправить одно сообщение электронной почты одному человеку, который был назначен с помощью отношения m2m. От одного ко многим, сообщение идет пользователю, но m2m ничего не происходит.

specials = models.ManyToManyField(User, related_name='special_users')

Я перепробовал все, искал в темах, но все равно ничего не происходит. Я включил псевдокод для иллюстрации ситуации.

all_users_from_m2m = instance.specials.all()

    for single_user in all_users_from_m2m:
    
        message = ('Subject', 'Here is message', 'from@example.com', [single_user.email])
        send_mass_mail(message, fail_silently=False)

Я не совсем уверен, что понял ваш тестовый пример, но существует сигнал под названием m2m_changed. Вы можете использовать его, например, так:

from django.db.models.signals import m2m_changed

def on_some_model_specials_m2m_changed(sender, instance, *args, **kwargs):
    # some actions here
    pass

m2m_changed.connect(
    on_some_model_specials_m2m_changed, sender=models.YourModel.specials.through)
Вернуться на верх