模型.py:
class InjuredLocation(models.Model):
reportperson = models.ForeignKey(ReportPerson)
mark1 = models.BooleanField('Mark1', default=False)
mark2 = models.BooleanField('Mark2', default=False)
mark3 = models.BooleanField('Mark3', default=False)
class Report(models.Model):
user = models.ForeignKey(User, null=False)
report_number = models.CharField('report Number', max_length=100)
class ReportPerson(models.Model):
report = models.ForeignKey(Report)
action_type = models.CharField(max_length=100, choices=ACTION_TYPE)
name = models.CharField('Name', max_length=100)
这是我的三个模型,我想从InjuredLocation
模型中过滤数据。
- Reportperson 表包含该表的报告 id 和名称字段可以是多个。每个报告可以有多个名称。
- 我想
InjuredLocation
通过参考过滤表中的数据reportperson_id
。 - 过滤后的数据应用于等效报告。
试过:
injury_list = []
reportperson = ReportPerson.objects.filter(report=report_id, action_type="involved")
injuary_mark = InjuredLocation.objects.filter(pk=reportperson)
for injuary in injuary_mark:
mark = InjuredLocation.objects.get(pk=injuary.id)
marklist={'mark':mark}
injury_list.append(marklist)
如果 Reportperson 表有多个名称,我在第 5 行收到此错误“(1242,'子查询返回超过 1 行')”。
更新:
injuery_list = []
injuries = InjuredLocation.objects.filter(reportperson__report=report_id, reportperson__action_type="involved")
for reportperson in injuries:
injun = InjuredLocation.objects.get(pk=reportperson.id)
list_inju = {'person': injun}
injuery_list.append(list_inju)
能够从 InjuredLocation 模型中获取对象,在模板中我渲染了它,但问题是“它应该根据 reportperson_id 渲染,而不是渲染所有”,例如,如果 InjuredLocation 模型有 reportperson_id=1,mark1=0 & mark2=1 并且对于 reportperson_id =2,mark1=1 & mark2=0 对于reportperson_id,它都呈现这样的“1 1”。预期的输出是0 1 和1 0。所有reportperson_id 的选择都是显示。
模板是
{%for injuary_mark in injuery_list%}
{%if injuary_mark.person.mark1 %}<img style="float: right; margin:5px 4px -35px 0;" src="{{BASE_URL}}/static/images/red-cross.png"> {% endif %}
{%if injuary_mark.person.mark2 %}<img style="float: right;margin:5px 8px -35px -8px;" src="{{BASE_URL}}/static/images/red-cross.png"> {% endif %}
{%endfor%}
最后更新:
我想根据 Reportperson 模型中的 id 显示 InjuredLocation 模型中的详细信息。这是来自单个报告,请参见图中的报告模型。
我在下面粘贴了所有三个带有数据的模型。
我需要的输出是,当 InjuredLocation 模型中的一行针对 Reportperson 表中的 ID 创建时,将动态创建一个选项卡。我想在各自选项卡中显示 InjuredLocation 表中的标记与 Reportperson 表中的各自 ID。现在所有在 Reportperson 模型中针对 id 创建的标记显示在所有选项卡中。假设 id=1 的标记为空,id=2 和 id=3 的标记在数据库中,根据要求 tab1 不应显示任何数据,但现在tab1 显示来自 id=2 和 id=3 的数据的 tab2 和 tab3 的数据。需要帮助