diff --git a/gracedb/events/models.py b/gracedb/events/models.py index c0b12f6cff9fb0483dd42a029e8424b11c35d734..1c7a9c260077c636c3418057c9024eaea4409f5c 100644 --- a/gracedb/events/models.py +++ b/gracedb/events/models.py @@ -1,3 +1,5 @@ +from math import isnan + from django.db import models, IntegrityError from django.urls import reverse @@ -986,12 +988,17 @@ class SingleInspiral(models.Model): #log.debug("Single/creating event") for f in [cls._meta.get_field(f) for f in cls.field_names()]: value = getattr(row, f.attname, f.default) + + # Handle nan for eff_distance + if f.attname == 'eff_distance' and isnan(value): + value = None + # Only set value of class instance member if # value is not None or if field is nullable. # Otherwise we could overwrite non-nullable fields # which have default values with None. if value is not None or f.null: - #log.debug("Setting column '%s' with value '%s'" % (column, value)) + #log.debug("Setting column '%s' with value '%s'" % (f.attname, value)) setattr(e, f.attname, value) e.save() created_events.append(e) diff --git a/gracedb/templates/gracedb/event_detail_coinc.html b/gracedb/templates/gracedb/event_detail_coinc.html index ea053c6eb2bcea1e485d157796cd4b3b63414bfa..ac8c5e426b50a82c17619b0cd3e1545c764ffde0 100644 --- a/gracedb/templates/gracedb/event_detail_coinc.html +++ b/gracedb/templates/gracedb/event_detail_coinc.html @@ -93,7 +93,11 @@ <tr> <th>Effective Distance</th> {% for e in single_inspiral_events %} - <td>{{ e.eff_distance }} Mpc</td> + <td> + {% if e.eff_distance %} + {{ e.eff_distance }} Mpc + {% endif %} + </td> {% endfor %} </tr> <tr>