Одиночные данные из поля 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)