When serializing models, this allows attached models (children, parents, etc.) to also be
    serialized.

def _other_to_dict(self, other):
    """When serializing models, this allows attached models (children, parents, etc.) to also be
    serialized.
    """
    if isinstance(other, ModelBase):
      return other.to_dict()
    elif isinstance(other, list):
      # TODO: what if it's not a list?
      return [self._other_to_dict(i) for i in other]
    else:
      return other