@@ -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 ):
@@ -288,6 +293,7 @@ def from_dict(cls, data):
288293 description = data ['description' ],
289294 bacteria_min = data ['bacteria_min' ],
290295 bacteria_max = data ['bacteria_max' ],
296+ # TODO: *_referenceS (m2m fields...)
291297 bacteria_reference_id = int (data ["bacteria_reference" ]) \
292298 if data ["bacteria_reference" ] is not None else None ,
293299 viruses_min = data ['viruses_min' ],
@@ -303,8 +309,11 @@ def from_dict(cls, data):
303309 def to_dict (self ):
304310 data = model_to_dict (self )
305311 data ["bacteria_reference" ] = str (self .bacteria_reference .pk ) if self .bacteria_reference is not None else None
312+ data ["bacteria_references" ] = [str (ref .pk ) for ref in self .bacteria_references .all ()]
306313 data ["viruses_reference" ] = str (self .viruses_reference .pk ) if self .viruses_reference is not None else None
314+ data ["viruses_references" ] = [str (ref .pk ) for ref in self .viruses_references .all ()]
307315 data ["protozoa_reference" ] = str (self .protozoa_reference .pk ) if self .protozoa_reference is not None else None
316+ data ["protozoa_references" ] = [str (ref .pk ) for ref in self .protozoa_references .all ()]
308317 return data
309318
310319
0 commit comments