【问题标题】:Single data from the relation m2m field - Django来自关系 m2m 字段的单个数据 - Django
【发布时间】:2022-01-24 13:32:21
【问题描述】:

在我的信号 (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)

【问题讨论】:

    标签: python django for-loop many-to-many


    【解决方案1】:

    我不确定我是否理解您的测试用例,但有一个名为 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)
    

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 2015-12-23
      • 2013-02-05
      • 2022-01-04
      • 2021-04-21
      • 2011-03-02
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多