【问题标题】:Django How to send signals for add or remove user from group?Django 如何发送信号以从组中添加或删除用户?
【发布时间】:2021-09-20 20:16:02
【问题描述】:

我正在尝试使用信号从组中添加和删除用户,但我不明白我在哪里做错了。这是我的代码:

@receiver(post_save,sender=settings.AUTH_USER_MODEL)
def group(sender,instance,created,**kwargs):
        group = Group.objects.get(name='myauthors')
        if instance.is_blog_author == True:
           instance.groups.add(group)
        elif instance.is_blog_author == False:
             instance.groups.remove(group) 

【问题讨论】:

  • 有什么问题?你有任何错误吗?
  • @BrianD 没有。我没有收到任何错误

标签: python python-3.x django


【解决方案1】:

在您的应用中创建一个signals.py 文件

在您的 apps.py 文件中, 覆盖 ready 类的 appConfig 方法就像这样

from django.apps import AppConfig
class MyAppClassConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = '<app_name>'



  def ready(self):
        from . import signals # import your signals here

init.py 应用程序的文件执行此操作

default_app_config = '<app_name>.apps.MyAppClassConfig'

然后将您的代码添加到signals.py

还显示您的模型类和您遇到的错误,我根据假设发布此答案。

#PS,我没有足够的声誉发表评论,因此使用了答案框。太可惜了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 2014-12-19
    • 2015-05-18
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多