You're adding an attribute (is_staff) to the form and then saving the form, but no method is doing anything with that attribute.
When you save a model form, it will return the instance of the model. You can then proceed to change that model, and save it again.
if form.is_valid():
instance = form.save(commit=False) # get the model instance from the filled-out form without saving it to the database
instance.is_staff = True # modify the instance by changing the is_staff attribute to True
instance.save() # save the instance of the model to the database
form.save_m2m() # for handling any many-to-many relationships that are not saved when commit=False
Please review the documentation:
https://docs.djangoproject.com/en/2.0/topics/forms/modelforms/
From: django-users@googlegroups.com [mailto:django-users@googlegroups.com] On Behalf Of Lalit Kumar
Sent: Thursday, August 2, 2018 1:17 AM
To: django-users@googlegroups.com
Subject: Re: i want to save is_staff value true in db but not save in database
Thanks Sir for your guidance , but i have many option is_staff , is_user , i have to save it from view views , any other way to save it from views
On Tue, Jul 31, 2018 at 9:41 PM, mazz ahmed <mazzahmed5@gmail.com> wrote:
set is_staff to true to Account model in django model after that save method will be called
On Wed, Aug 1, 2018 at 1:06 PM, lalitaquasoft <lalitaquasoft@gmail.com> wrote:
Advance Thanks for your help:
is_staff value is not save in database
Here is Code:
from django.contrib.auth import login, authenticate
from django.shortcuts import render, redirect
from blog.forms import SignUpForm
def signup(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
form.is_staff = 1
form.save()
# username = form.cleaned_data.get('username')
# raw_password = form.cleaned_data.get('password1')
# user = authenticate(username=username, password=raw_password)
# login(request, user)
# return redirect('home')
else:
form = SignUpForm()
return render(request, 'register.html', {'form': form})
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/54a3c692-3232-4032-aadd-561789b92c91%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CABuXbh-CTnYG%2BGWQXDU9o%3D1VnrNCtCzfksH%2B50M55%3Dw2Rh6Z5g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMBu2whLRTmfPBNNvn5gyNrZFAtddZf3241LE%3DkJmrWjD4-HbQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment