Skip to content

Commit 389dad8

Browse files
committed
add m2m field for QMRAReference in QMRATreatment
1 parent 38eac10 commit 389dad8

4 files changed

Lines changed: 62 additions & 1 deletion

File tree

qmra/risk_assessment/admin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,14 @@ class QMRATreatmentAdmin(admin.ModelAdmin):
6464
("name", "group"),
6565
("bacteria_min", "bacteria_max"),
6666
"bacteria_reference",
67+
"bacteria_references",
6768
("viruses_min", "viruses_max"),
6869
"viruses_reference",
70+
"viruses_references",
6971
("protozoa_min", "protozoa_max"),
70-
"protozoa_reference"
72+
"protozoa_reference",
73+
"protozoa_references"
7174
]
75+
filter_horizontal = ["bacteria_references", "viruses_references", "protozoa_references"]
7276

7377
save_model = save_model
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Generated by Django 5.0.6 on 2026-01-15 12:42
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('risk_assessment', '0006_qmrapathogen_qmrareference_qmrasource_qmraexposure_and_more'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='qmratreatment',
15+
name='bacteria_references',
16+
field=models.ManyToManyField(related_name='bacteria_lrvs', to='risk_assessment.qmrareference'),
17+
),
18+
migrations.AddField(
19+
model_name='qmratreatment',
20+
name='protozoa_references',
21+
field=models.ManyToManyField(related_name='protozoa_lrvs', to='risk_assessment.qmrareference'),
22+
),
23+
migrations.AddField(
24+
model_name='qmratreatment',
25+
name='viruses_references',
26+
field=models.ManyToManyField(related_name='viruses_lrvs', to='risk_assessment.qmrareference'),
27+
),
28+
]
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Generated by Django 5.0.6 on 2026-01-15 12:42
2+
3+
from django.db import migrations
4+
5+
6+
def migrate_references(apps, schema_editor):
7+
8+
QMRATreatment = apps.get_model("risk_assessment", "QMRATreatment")
9+
for treatment in QMRATreatment.objects.all():
10+
11+
treatment.bacteria_references.add(treatment.bacteria_reference)
12+
treatment.viruses_references.add(treatment.viruses_reference)
13+
treatment.protozoa_references.add(treatment.protozoa_reference)
14+
15+
16+
class Migration(migrations.Migration):
17+
18+
dependencies = [
19+
('risk_assessment', '0007_qmratreatment_bacteria_references_and_more'),
20+
]
21+
22+
operations = [
23+
migrations.RunPython(migrate_references),
24+
]

qmra/risk_assessment/qmra_models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,14 +270,19 @@ class QMRATreatment(models.Model):
270270
bacteria_max: Optional[float] = models.FloatField(blank=True, null=True)
271271
bacteria_reference = models.ForeignKey(QMRAReference, blank=True, null=True, on_delete=models.CASCADE,
272272
related_name="bacteria_lrv")
273+
bacteria_references = models.ManyToManyField(QMRAReference, related_name="bacteria_lrvs")
274+
273275
viruses_min: Optional[float] = models.FloatField(blank=True, null=True)
274276
viruses_max: Optional[float] = models.FloatField(blank=True, null=True)
275277
viruses_reference = models.ForeignKey(QMRAReference, blank=True, null=True, on_delete=models.CASCADE,
276278
related_name="viruses_lrv")
279+
viruses_references = models.ManyToManyField(QMRAReference, related_name="viruses_lrvs")
280+
277281
protozoa_min: Optional[float] = models.FloatField(blank=True, null=True)
278282
protozoa_max: Optional[float] = models.FloatField(blank=True, null=True)
279283
protozoa_reference = models.ForeignKey(QMRAReference, blank=True, null=True, on_delete=models.CASCADE,
280284
related_name="protozoa_lrv")
285+
protozoa_references = models.ManyToManyField(QMRAReference, related_name="protozoa_lrvs")
281286

282287
@classmethod
283288
def from_dict(cls, data):

0 commit comments

Comments
 (0)