AttributeError at /addpatient_to_db
'QuerySet' object has no attribute 'wardno'
申请方式:邮寄
请求URL:http://127.0.0.1:8000/addpatient_to_db
Django版本:2.2.5
异常类型:AttributeError
异常值:'QuerySet' object has no attribute 'wardno'
异常位置:C:\Users\Saurabh Patil\Desktop\SanjeevniHospital\admininterface\views.py in addpatient_to_db, line 114
Python可执行文件:C:\Users\Saurabh Patil\AppData\Local\Programs\Python\Python37\python.exe
Python版本:3.7.4
Python路径:
['C:\\Users\\Saurabh Patil\\Desktop\\SanjeevniHospital',
'C:\\Users\\Saurabh '
'Patil\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
'C:\\Users\\Saurabh Patil\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
'C:\\Users\\Saurabh Patil\\AppData\\Local\\Programs\\Python\\Python37\\lib',
'C:\\Users\\Saurabh Patil\\AppData\\Local\\Programs\\Python\\Python37',
'C:\\Users\\Saurabh Patil\\AppData\\Roaming\\Python\\Python37\\site-packages',
'C:\\Users\\Saurabh '
'Patil\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages']
服务器时间:Sun,2020年1月26日12:07:40+0000
这是我的密码
views.py
def addpatient_to_db(request):
if request.method == 'POST':
name = request.POST['name']
age = request.POST['age']
sex = request.POST['sex']
address = request.POST['address']
contno = request.POST['contno']
wardno = request.POST['wardno']
bedno = request.POST['bedno']
doa = request.POST['doa']
docass = request.POST['docass']
pii = request.POST['pii']
alldata = patientdetails.objects.all()
if alldata.wardno == wardno and alldata.bedno == bedno: # <---- This is the issuing line
return render(request, "addpatient.html")
else:
addp = patientdetails(name=name, age=age, sex=sex, address=address, mobno=contno,
wardno=wardno, bedno=bedno, dateofallot=doa, docass=docass, illness_issue=pii)
addp.save()
return redirect('addpatient')
else:
return render(request, 'addpatient.html')
models.py
from django.db import models
# Create your models here.
class patientdetails(models.Model):
name = models.CharField(max_length=50)
age = models.CharField(max_length=3)
sex = models.CharField(max_length=10)
address = models.CharField(max_length=100)
mobno = models.CharField(max_length=10)
wardno = models.CharField(max_length=3)
bedno = models.CharField(max_length=3)
dateofallot = models.CharField(max_length=10)
docass = models.CharField(max_length=50)
illness_issue = models.CharField(max_length=50)
你的问题到了
您使用的是返回多个对象的查询集,并且无法访问具有多个对象属性的数据库
所以,您应该在这里循环查询集中的每个项,然后只访问属性
这应该能解决你的问题
alldata.wardn
不起作用,因为是包含对象列表的QuerySet
。如果您已经知道alldata
只包含一个对象,则可以使用first()
检索该对象:否则,如果在
QuerySet
中有多个对象,只需在alldata
上迭代即可:您正在从此行返回queryset,因此无法访问“wardno”
在queryset中循环以访问它
优化您的代码,如下所示:
相关问题 更多 >
编程相关推荐