def species(self): """List of species""" Session = make_session_from_request(self.request)() q = Session.query(Individual.species_latin_name).distinct() q = q.order_by(Individual.species_latin_name) species = [] for speci in q: species.append({"id": speci, "text": speci}) Session.close() return species
def projects(self): """List of projects""" Session = make_session_from_request(self.request)() q = Session.query(TrackSession.key_name).distinct() q = q.order_by(TrackSession.key_name) projects = [] for pid in q: projects.append({"id": pid, "text": pid}) Session.close() return projects
def trackers(self): """List of trackers Each tracker has an id, project and species field. """ Session = make_session_from_request(self.request)() q = Session.query(Tracker.device_info_serial, TrackSession.key_name, Individual.species_latin_name) q = q.join(TrackSession).join(Individual) q = q.order_by(Tracker.device_info_serial).distinct() trackers = [] for tid, project, species in q: trackers.append({"id": tid, "project": project, "species": species}) Session.close() return trackers