我所做的代码只显示了数据库中的一个第一个保存记录
id 数据是否包含不止一次。
class Lab(models.Model):
address=models.CharField(max_length=150)
age=models.IntegerField(blank=True,default=11)
sex_category=(('Male','Male'),('Female','Female'),('Others','Others'),)
sex=models.CharField(max_length=50,choices=sex_category,default="Male")
contact=models.CharField(max_length=20)
image=models.ImageField(upload_to = 'photo/',blank=True,null=True)
user = models.OneToOneField(UserProfile)
# patient=models.ForeignKey(Patient)
def has_perm(self,perm,obj=None):
return self.is_lab
def has_module_perms(self,app_Label):
return self.is_lab
def __str__(self):
return self.user.name
class Lab_Test(models.Model):
test_name=models.CharField(max_length=250,blank=False)
status=models.CharField(max_length=250,blank=False,choices=(('Done','Done'),('Pending','Pending')),
default='Pending')
result=models.TextField(max_length=250,blank=True)
test_date=models.DateTimeField(default=datetime.now)
patient=models.ForeignKey(Patient)
lab=models.ForeignKey(Lab)
def __str__(self):
return self.patient.name
@login_required(login_url='/login/')
def lab_check_pats_list(request):
if request.user.is_lab:
lab=UserProfile.objects.get(id=request.user.id)
labs=Lab.objects.get(user=lab.id)
labt=Lab_Test.objects.filter(lab_id=labs.id)
print(labt)
pt = []
for x in labt:
pt.append(x.patient_id)
pts= Patient.objects.filter(id__in=pt)
context={
'ab':zip(pts,labt)
}
print(pts)
return render(request,'lab_check_pats_list.html',context)
我想获取过滤器 id 的所有记录,但它只显示一次id 1、2、3、4 数据包含多个,但它只显示一次