【发布时间】:2021-03-11 05:22:35
【问题描述】:
views.py 中的这个函数
views.py
def UpdateEducation(request):
context = {}
user_obj = request.user
if not user_obj.is_authenticated:
return redirect('login')
user_id = Applicant.objects.filter(app_id = user_obj.app_id).first()
print(user_id)
applicant = ProfileInfo.objects.filter(user=user_id).first()
print(applicant)
user_info = ApplicantEducation.objects.filter(applicant_info = applicant).get()
if request.POST:
form = EducationForm(request.POST, instance=user_info)
if form.is_valid():
obj = form.save(commit=False)
obj.applicant_info = applicant
print(obj)
obj.save()
return redirect('profile')
else:
form = EducationForm()
context['education_form'] = form
else:
try:
form = EducationForm(
initial={
'institute_name': user_info.institute_name,
'marks_percentage' : user_info.marks_percentage,
'affilation_with' : user_info .affilation_with,
'date_completion':user_info.date_completion,
'degree_details' : user_info.degree_details,
}
)
context['education_form']= form
except:
form = EducationForm()
context['education_form']= form
return render(request, 'admission/signup.html', context)
我为views.py制作的这个模型类 models.py
class DegreeDetails (models.Model):
degree_name = models.CharField(max_length=10)
degree_category = models.CharField(max_length= 15)
def __str__(self):
return '%s %s'%(self.degree_name, self.degree_category)
class ApplicantEducation(models.Model):
applicant_info = models.ForeignKey(ProfileInfo, on_delete=models.CASCADE)
degree_details = models.ForeignKey(DegreeDetails, on_delete= models.CASCADE)
marks_percentage = models.FloatField(max_length=5, default=0.0)
institute_name = models.CharField(max_length=100)
affilation_with = models.CharField(max_length= 50)
date_completion = models.DateField(auto_now_add=False, blank=True)
这是模型的表单类..... forms.py
class EducationForm( forms.ModelForm):
class Meta:
model = ApplicantEducation
fields = [
'institute_name',
'marks_percentage',
'affilation_with',
'date_completion',
'degree_details',
]
def clean(self):
if self.is_valid():
institute_name = self.cleaned_data['institute_name']
marks_percentage = self.cleaned_data['marks_percentage']
affilation_with = self.cleaned_data['affilation_with']
date_completion = self.cleaned_data['date_completion']
degree_details = self.cleaned_data['degree_details']
这是我得到的错误 错误
ApplicantEducation matching query does not exist.
Request Method: GET
Request URL: http://127.0.0.1:8000/education/
Django Version: 3.1.7
Exception Type: DoesNotExist
Exception Value:
ApplicantEducation matching query does not exist.
Exception Location: C:\Users\cms.user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\query.py, line 429, in get
Python Executable: C:\Users\cms.user\AppData\Local\Programs\Python\Python39\python.exe
Python Version: 3.9.1
Python Path:
['D:\\Development\\cmsproject',
'C:\\Users\\cms.user\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip',
'C:\\Users\\cms.user\\AppData\\Local\\Programs\\Python\\Python39\\DLLs',
'C:\\Users\\cms.user\\AppData\\Local\\Programs\\Python\\Python39\\lib',
'C:\\Users\\cms.user\\AppData\\Local\\Programs\\Python\\Python39',
'C:\\Users\\cms.user\\AppData\\Roaming\\Python\\Python39\\site-packages',
'C:\\Users\\cms.user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages']
Server time: Thu, 11 Mar 2021 05:03:04 +0000
以下代码行中存在错误..... user_info = 申请人教育.objects.filter(applicant_info = 申请人).get()
请任何人看看这个错误。整个代码旨在将用户的教育详细信息存储在后端数据库中...... 谢谢您,期待您的回复....
【问题讨论】:
-
user_info = get_object_or_404(ApplicantEducation,applicant_info =申请人) 我已将错误代码更改为上面的代码行,#GET Request 似乎有问题,但是我无法解决......谁可以帮忙??
标签: python-3.x django django-models django-views django-forms