python-3.x - 申请人教育匹配查询不存在
问题描述
views.py 中的这个函数
视图.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 = ApplyEducation.objects.filter(applicant_info =申请人).get()
任何人都请看看这个错误。整个代码旨在将用户的教育详细信息存储在后端数据库中......谢谢并期待您的回复......
解决方案
if request.POST:
user_info = ApplicantEducation.objects.filter(applicant_info = applicant).first()
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:
context['education_form'] = form
else:
try:
user_info = ApplicantEducation.objects.filter(applicant_info = applicant).get()
form = EducationForm(#some values)
问题出在post方法上,比较两个views.py,你会看到区别。谢谢
推荐阅读
- javascript - 如何将所有外部链接重定向到单独的免责声明页面并传递超链接?
- list - Dart 拆分/压缩列表
- azure - Azure API 管理转发请求不支持跟随重定向
- java - 如何在 Spring Data JPA 投影中处理 nullPointer
- android - 输入“状态”
- ?>' 没有方法 'getValue(Nothing?, KProperty<*>)' 因此它不能用作委托
- c++ - 理解逗号运算符
- python-3.x - _, 在这种情况下做什么。(Python / Django)
- java - 如何在数组中存储一行?
- html - 如何在css背景图像中放入一个div 2图像:url(.....)
- javascript - 使用谨慎的元素在 Javascript 中将树构建为矩阵