def add_lines_into_order(self, order, lines): # Map source lines to order lines for parentage linking order_line_by_source = { id(order_line.source_line): order_line for order_line in lines } # Set line ordering, parentage and save the lines for index, order_line in enumerate(lines): order_line.order = order order_line.ordering = index parent_src_line = order_line.parent_source_line if parent_src_line: parent_order_line = order_line_by_source[id(parent_src_line)] assert parent_order_line.pk, "Parent line should be saved" order_line.parent_line = parent_order_line order_line.save() self.add_line_taxes(lines) # And one last pass to call the subclass hook. for order_line in lines: self.process_saved_order_line(order=order, order_line=order_line) post_order_line_save.send(sender=type(self), order=order, order_line=order_line)
def add_lines_into_order(self, order, lines): # Map source lines to order lines for parentage linking order_line_by_source = { id(order_line.source_line): order_line for order_line in lines } # Set line ordering, parentage and save the lines for index, order_line in enumerate(lines): order_line.order = order order_line.ordering = index parent_src_line = order_line.parent_source_line if parent_src_line: parent_order_line = order_line_by_source[id(parent_src_line)] assert parent_order_line.pk, "Parent line should be saved" order_line.parent_line = parent_order_line order_line.save() self.add_line_taxes(lines) # And one last pass to call the subclass hook. for order_line in lines: self.process_saved_order_line(order=order, order_line=order_line) post_order_line_save.send(sender=type(self), order=order, order_line=order_line)