With your form.save() call try passing commit=True so it looks like form.save(commit=True)
On Tue., 4 Jun. 2019, 1:39 am Ankhi Roy, <[email protected]> wrote: > Hi, > > I am using Django admin - 2.2.1 and Postgresql as my database. So my > problem is I have saved the user entered data in form.py on "POST" Request > but it isn't saving in the postgresql database. > > Model.py - > > class modelForm(models.Model): > CHOICES = [('Y', 'Yes'), > ('N', 'No')] > allow = models.CharField( max_length = 4 , choices = CHOICES) > > description = models.CharField( max_length=1000) > > usingtheproduct = models.CharField( max_length = 4 , choices = CHOICES) > > > Forms.py file - > > > > class productForm(forms.ModelForm): > class Meta: > model = modelForm > > fields = ["allow", "description", "usingtheproduct"] > > labels = { > "allow": "Allow", > "description": "Description", > "usingtheproduct": "Using The Product" > } > > > first.html file - > > <form name = "form" action = "." method = "POST" >{% csrf_token %} > {{form}} > <input type = "submit", value = "submit"> > </form> > > > Views.py - > > > > def first(request): > template = loader.get_template('xyz/first.html') > form = productForm(request.POST or None) # > https://stackoverflow.com/questions/35748734/django-local-variable-form-referenced-before-assignment > > if request.method == 'POST': > > form = productForm(data = request.POST) > > if form.is_valid(): > > allow = request.POST.get('Allow', '') > decription = request.POST.get('Decription', '') > usingtheproduct= request.POST.get('Using The Product', '') > form.save() # This did not work as did not store user enetered > data in postgresql database. > return HttpResponse("It is getting saved!!!!") # I can see > this message in browser after submitting the html form, > else: > print(form.errors) > > return HttpResponse(template.render({'form': form}, request)) > > > > > setting.py file - > > DATABASES = { > 'default': { > 'ENGINE': 'django.db.backends.postgresql_psycopg2', > 'NAME': 'abc', > 'USER' : 'xyz', > 'PASSWORD' : '*********', > 'HOST': 'localhost', > 'PORT':'', > > } # I have also created a database and a table with model name and > have the exact columns as that of form input variables that is I have 3 > column as allow, description, usingtheproduct in the postgresql database. > } > > > So not sure why the data is not getting saved in the postgresdatabase, am > i missing something? Thanks for your time. > > Thanks > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > 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/9334a917-1539-4bfc-96f2-c2f617f2ff9d%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/9334a917-1539-4bfc-96f2-c2f617f2ff9d%40googlegroups.com?utm_medium=email&utm_source=footer> > . > 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 [email protected]. To post to this group, send email to [email protected]. 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/CAAOisOJqMXB8B1h2P2xhDPnzD43AkVwT617dA_zybSpimZfL2A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

