def _copySessionToForm(self, sesh): """Copy relevant fields from Session to SessionForm.""" sf = SessionForm() for field in sf.all_fields(): if hasattr(sesh, field.name): # convert date and startTime to string; just copy others if field.name == 'date' or field.name == 'startTime': setattr(sf, field.name, str(getattr(sesh, field.name))) else: setattr(sf, field.name, getattr(sesh, field.name)) elif field.name == "websafeKey": setattr(sf, field.name, sesh.key.urlsafe()) # query speaker by the speaker_id and add values to form if sesh.speakerId: speaker = Speaker.get_by_id(sesh.speakerId) sf.speaker_name = speaker.name sf.speaker_email = speaker.email sf.speaker_gender = speaker.gender sf.check_initialized() return sf