【发布时间】:2021-08-04 08:24:55
【问题描述】:
我将 django 与 sqllite 一起使用,我在 django 模型和 django 表单的帮助下创建了一个调查表,但是当我点击提交时,我看到有时数据在我的数据库中保存了两次,这是正常发生还是我的代码有问题
from django.shortcuts import render, redirect
from django.contrib import messages
from django.template.response import TemplateResponse
from .forms import SurveyForm
def index(request):
if request.method == 'POST':
form = SurveyForm(request.POST)
if form.is_valid():
form.save()
return TemplateResponse(request, 'thankyou.html')
else:
return messages.error(request, 'Please fill the form to continue')
else:
form = SurveyForm()
return render(request, 'learnersform.html', {'form': form})
我的表单.py
from django import forms
from django.forms import ModelForm, Textarea
from .models import teacher
class teachersform(forms.ModelForm):
class Meta:
model = teacher
fields = '__all__'
widgets = {'name': forms.TextInput(attrs={'placeholder':'Your Name'}),
'Q3': forms.TextInput(attrs={'placeholder':'Please write your subjects'}),
'Q4': forms.RadioSelect(),
'Q5': forms.RadioSelect(),
'Q6': forms.RadioSelect(),
'Q7': forms.RadioSelect(),
'Q8': forms.RadioSelect(),
'Q9':forms.Textarea(attrs={'placeholder':'Write Here.......'}),
'Q10':forms.Textarea(attrs={'placeholder':'Write Here.......'}),
}
我的模型.py
from django.db import models
# Create your models here.
class teacher(models.Model):
name = models.CharField(max_length=80, blank=True,)
state = models.CharField(max_length=50, choices=state_choice,)
Q3 = models.CharField(max_length=80, default=None, blank=False)
Q4 = models.CharField(max_length=80, choices=q4_choice, default=None, blank=False)
Q5 = models.CharField(max_length=80, choices=q5_choice, default=None, blank=False)
Q6 = models.CharField(max_length=80, choices=q6_choice, default=None, blank=False)
Q7 = models.CharField(max_length=80, choices=q7_choice, default=None, blank=False)
Q8 = models.CharField(max_length=80, choices=q8_choice, default=None, blank=False)
Q9 = models.TextField(default=None, blank=False)
Q10 = models.TextField(default=None,blank=False)
def __str__(self):
return self.state
【问题讨论】:
-
您的视图看起来不错,您可以添加您的
SurveyForm类以及相应的模型吗? -
请出示相关表格和型号
-
添加表格和模型
-
您没有添加正确的表格或模型
标签: django sqlite django-models django-views django-forms