def create(self, event: Event): self.object = event wks = self.create_worksheet(title=str(self.object)[0:100], cols=self.columns) wks.adjust_column_width(1, None, 300) wks.adjust_column_width(2, None, 200) self.past_header(str(event.title), self.zeroCell) nextRow = self.current_row + 1 volonteers = Boec.objects.filter( event_participation__worth=1, event_participation__event=event ) organizers = Boec.objects.filter( event_participation__worth=2, event_participation__event=event ) participants = Boec.objects.filter( event_participation__worth=0, event_participation__event=event ) info_values = [ [["Штаб-организатор"], [event.shtab.title if event.shtab else "Без штаба"]], [["Волонтеров"], [volonteers.count()]], [["Организаторов"], [organizers.count()]], [["Блок"], [event.get_worth_display()]], ] self.past_info_cells(nextRow, info_values) nextRow = self.current_row + 2 if len(organizers) > 0: self.past_header("Организаторы", (nextRow, self.zeroCell[1])) nextRow = self.current_row + 1 self.past_boec(nextRow, organizers, Participant.WorthEnum.ORGANIZER) nextRow = self.current_row + 2 if len(volonteers) > 0: self.past_header("Волонтеры", (nextRow, self.zeroCell[1])) nextRow = self.current_row + 1 self.past_boec(nextRow, volonteers, Participant.WorthEnum.VOLONTEER) nextRow = self.current_row + 2 if len(participants) > 0: self.past_header("Участники", (nextRow, self.zeroCell[1])) nextRow = self.current_row + 1 self.past_boec(nextRow, participants, Participant.WorthEnum.DEFAULT) self.wks.rows = self.current_row url = self.get_wks_url() return url