Как отправить переменные из view.py в сигнал в Django

я хочу, чтобы django создавал объект ServerModeratorPermission сразу после того, как пользователь был назначен модератором сервера

views.py:

class ModeratorSettingsView(LoginRequiredMixin, View):
form_class = AddModeratorForm

...

def post(self, request, server_tag):
    form = self.form_class(request.POST)

    user = User.objects.get(pk=request.POST.get('user'))
    server = Server.objects.get(tag=server_tag)
    moderators = server.moderator_of.exclude(user=server.creator)
    ServerModerator.objects.get_or_create(user=user)
    moderator = ServerModerator.objects.get(user=user)
    moderator.server.add(server)
    return render(request, 'servers/moderator-settings.html', {'moderators':moderators, 'server':server, 'form':form})

signals.py:

@receiver(post_save, sender=ServerModerator)
    def give_default_permission(instance, *args, **kwargs):
        # i need server_tag for this query
        # server = Server.objects.get(tag=server_tag)
        moderator = ServerModerator.objects.get(pk=instance.id)
        ServerModeratorPermission.objects.create(moderator=moderator, server=server)

есть ли способ отправить в сигнал server_tag, который используется в классе представления?

Если server_tag является полем, попробуйте server = Server.objects.get(tag=instance.server_tag)

Вернуться на верх