How make a superuser after signup a user?

This is my model and I just want to All Publisher users become superuser too, but I don’t know How to do it??

class User(AbstractUser):
    email = models.EmailField()
    is_publisher = models.BooleanField(default=False)

and This is my View

def signup(response):
    form = SignUpForm()
    if response.method == "POST":
        form = SignUpForm(response.POST)
        if form.is_valid():
            form.save()

        return redirect("/home")
    else:
        form = SignUpForm()

    return render(response, "registration/signup.html", {"form":form})

>Solution :

You can retrieve instance from Form, set is_superuser and save instance:

def signup(response):
    form = SignUpForm()
    if response.method == "POST":
        form = SignUpForm(response.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.is_superuser = True
            instance.save()

        return redirect("/home")
    else:
        form = SignUpForm()

    return render(response, "registration/signup.html", {"form":form})

Leave a Reply