python - 如何通过 Django 视图中的 QuerySet 过滤器访问 Django 模型的属性属性?
问题描述
我有一个模型:
class IpdReport(models.Model):
patient=models.ForeignKey(Patient, on_delete=CASCADE)
package=models.ForeignKey(Package, on_delete=CASCADE)
该Patient
模型如下所示:
class Patient(models.Model):
name=models.CharField(max_length=100)
mr_uid=models.CharField(max_length=9) #A gender field needs to be added here later
@property
def patient_number(self):
if self.pk:
return "{}{:04d}".format('PN/D/', self.pk)
else:
return ""
def __str__(self):
return self.name+"-"+self.patient_number
现在,我想IpdReport
在一个views
函数中过滤 to 的数据,以根据模型的property
属性显示一个表Patient
,即patient_number
.
这是我尝试过的,但没有奏效:
def sort_by_pt(request):
if request.method=='POST':
pn=request.POST.get('enter_patient_number')
report=IpdReport.objects.filter(patient__patient_number=pn)
total1=report.aggregate(Sum('realization__amount_received'))
total2=report.aggregate(Sum('realization__deficit_or_surplus_amount'))
context={'report': report, 'total1':total1, 'total2':total2}
return render(request, 'account/ipdreport.html', context)
else:
sort=EnterPatientNumber()
return render(request, 'account/sort.html', {'sort':sort})
它抛出的错误:相关字段查找无效:患者编号
我有什么选择来实现它?
解决方案
推荐阅读
- oracle - 使用 ora2pg 工具从 oracle 中值为 0 的 CLOB 列中提取数据到 postgresql
- python - Python Excel电子表格阅读
- r - 在R中使用逻辑条件的ifelse语句
- mysql - '。' 在这个位置无效,期望:EOF,';'
- tensorflow - TensorFlow 迁移学习 ValueError
- r - 尝试将数据集拟合到对数族时出现错误?
- sql - Reg:Substr 和列长度
- akka-stream - 需要一个如何在 akka 流中使用 flatMapPrefix 的示例
- php - 在php中使用带有计数器的rename()函数重命名文件
- java - 测试多部分表单数据发布请求