Отношения объекта ManyToMany не обновляются внутри сигналов

У меня есть этот сингал

@receiver(post_save, sender=Organization)
def save_tags(sender, instance, **kwargs):
    from .views import post

    text_input_tags = post.getlist('tags1')[0]
    text_input_tags = text_input_tags.strip()
    text_inputs_tags = text_input_tags.split(' ')
    for tag in text_inputs_tags:
        if not tag.startswith('#') :
            tag = '#' + tag
        tag_obj = Tag.objects.get_or_create(name = tag)[0]#.organization_set.set([obj,])
        tag_obj.save()

        instance.tags.add(tag_obj)
        print(instance.tags.all())

из представлений я импортирую данные постов для использования внутри сигнала. Существует множество отношений между двумя моделями Organization и Tag. Я пытаюсь получить некоторые атрибуты из почтового запроса и создать из них объект Tag, а затем добавить этот объект Tag в отношение ManyToMany экземпляра Organization. Когда я печатаю теги экземпляра организации

print(instance.tags.all())

Я получаю добавленные экземпляры в QuerySet, но они не сохраняются в экземпляре организации, и я не понимаю, почему... Я попытался сделать ту же функциональность внутри метода UpdateView организации, но он делал точно то же самое и не работал. Вот UpdateView и его методы, которые не работают с этой функциональностью

class OrganizationUpdate(UpdateView):
    model = Organization
    '''fields = [
        'name',
        'slug',
        'bio',
        'avatar_thumbnail',
        'location',
        'tags',
        'contact_information'
    ]'
    '''

    form_class = forms.OrganizationForm

    def get_object(self):
        obj = Organization.objects.get(slug = self.kwargs.get('slug'))
        if self.request.user not in obj.moderators.all() :
            raise exceptions.PermissionDenied()
        return obj

    def save(self, *args, **kwargs):
        org = self.get_object()
        POST = self.request.POST.copy()
        text_input_tags = POST.getlist('tags1')[0]
        text_input_tags = text_input_tags.strip()
        text_inputs_tags = text_input_tags.split(' ')
        for tag in text_inputs_tags:
            print(tag)
            if not tag.startswith('#') :
                tag = '#' + tag
            tag_obj = Tag.objects.get_or_create(name = tag)[0]
            tag_obj.save()
            org.tags.add(tag_obj)
        return super().save(*args, **kwargs)

    def post(self, request, *args, **kwargs):
        # same functionality in save()
        return super().post(request, *args, **kwargs)

    def form_valid(self, form):
        # same functionality in save()
        return super().form_valid(form)


На самом деле мне нужно было реализовать эту функциональность после сохранения экземпляра, поэтому методы post или form_valid здесь не подходят, мне нужно было реализовать ее внутри метода, который происходит в последних частях updateview, мой выбор был внутри get_success_url, код выглядит следующим образом:

    def get_success_url(self):
        org = self.get_object()
        POST = self.request.POST.copy()
        text_input_tags = POST.getlist('tags1')[0]
        text_input_tags = text_input_tags.strip()
        text_inputs_tags = text_input_tags.split(' ')
        for tag in text_inputs_tags:
            print(tag)
            if not tag.startswith('#') :
                tag = '#' + tag
            tag_obj = Tag.objects.get_or_create(name = tag)[0]  
            tag_obj.save()
            org.tags.add(tag_obj)
        return super().get_success_url()
Вернуться на верх