+ # FIXME acá habría que sacarle la unicidad a Miembro.pk para que
+ # un alumno pueda ser miembro varias veces del mismo grupo, de
+ # manera de tener la historia completa, pero hay que tener cuidad
+ # y arreglar todos los lugares donde se asume esa unicidad
+ try:
+ m = Miembro.selectBy(grupo=self, alumnoID=alumno).getOne()
+ m.baja = None # si ya existía, le sacamos la fecha de baja
+ return m
+ except SQLObjectNotFound: # creo uno nuevo
+ return Miembro(grupo=self, alumnoID=alumno, **kw)