def form_valid(self, form): instance = form.save() # チケットを作成する tickets = [] for i in range(instance.get_default_ticket_count()): ticket = Ticket() ticket.name = "{0}様 {1}".format(instance.name, (i + 1)) ticket.sponsor = instance ticket.is_registered = False tickets.append(ticket) Ticket.objects.bulk_create(tickets) return super().form_valid(form)
def save(self, commit=True): if not commit: raise NotImplementedError("'commit' must be True.") last_ticket = self.sponsor.tickets.all().order_by("-id")[0] last_number = int(last_ticket.name.split(" ")[-1]) # チケットを作成する tickets = [] for i in range(self.cleaned_data["count"]): ticket = Ticket() ticket.name = "{0}様 {1}".format(self.sponsor.name, (i + 1 + last_number)) ticket.sponsor = self.sponsor ticket.is_registered = False ticket.is_booth = self.cleaned_data["is_booth"] tickets.append(ticket) Ticket.objects.bulk_create(tickets) return tickets