Как можно обновить данные многих полей

я пытаюсь обновить данные многих полей в django.

Вот мое мнение:

def editRolesView(request, role_id, shop_id):
    shopId = get_object_or_404(Shop, pk=shop_id)
    roleId = get_object_or_404(Roles, pk=role_id)
    permissions = Permission.objects.filter(
                shop=shopId.id,
            )
    if shopId.user == request.user:
        if request.method == "POST":
            permissions = request.POST.getlist("permissions")
            # cnv_pp = ''.join(permissions)
            roleId.role_title = request.POST.get("role_title")
            roleId.shop = Shop.objects.get(id=shopId.id)

            roleId.save()
            roleId.permissions = roleId.permissions.set(permissions)
            roleId.save()
            return HttpResponse("Edited")
            # roleId.permissions_set.all()
        args = {
            "shopId": shopId,
            "roleId": roleId,
            "permissions": permissions,
        }
        return render(request, "roles/edit-role.html", args)
    else:
        return redirect("warning")

Здесь я попытался обновить данные manytomanyfield. Вот моя модель

class Permission(models.Model):
    shop = models.ForeignKey(Shop, on_delete=models.SET_NULL, null=True)
    permission_title = models.CharField(max_length=255)

    class Meta:
        ordering = ["-id"]
    
    def __str__(self):
        return self.permission_title



class Roles(models.Model):
    shop = models.ForeignKey(Shop, on_delete=models.SET_NULL, null=True)
    role_title = models.CharField(max_length=255)
    permissions = models.ManyToManyField(Permission)

    class Meta:
        ordering = ["-id"]
    
    def __str__(self):
        return self.role_title

Всякий раз, когда я пытаюсь сохранить данные, он говорит об этой ошибке:

Direct assignment to the forward side of a many-to-many set is prohibited. Use permissions.set() instead.

Данные сохраняются, но выдает ошибку. Есть ли способ решить эту проблему?

Вот мой шаблон

<form action="" method="POST">
    {% csrf_token %}
        <label>Set Role Title</label></br>
        <input type="text" name="role_title" value="{{ roleId.role_title }}"><br>
   
        {% for p in roleId.permissions.all %}
            <input checked type="checkbox" name="permissions" value="{{ p.id }}">
        {{ p.permission_title }}<br>
        {% endfor %}
        
        {% for pp in permissions %}
            {% if not pp in roleId.permissions.all %}
            <input type="checkbox" name="permissions" value="{{ pp.id }}">{{ pp.permission_title }}
            {% else %}{% endif %}
        {% endfor %}
    <button type="submit">Save</button>
</form>
Вернуться на верх