code: def handle(self, *args, **options):
          
          # Note that by taking last_id here, we're going to miss any submissions created *during* the command execution
          # But that's okay! All new entries have already been created using the new style, no acion needed there
          last_id = Submission._objects.all().aggregate(Max('id'))['id__max']
          log.info("Beginning uuid update")
  
          current = options['start']
          while current < last_id:
              end_chunk = current + options['chunk'] if last_id - options['chunk'] >= current else last_id
              log.info("Updating entries in range [{}, {}]".format(current, end_chunk))
              with transaction.atomic():
                  for submission in Submission._objects.filter(id__gte=current, id__lte=end_chunk).iterator():
                      submission.save(update_fields=['uuid'])
              time.sleep(options['wait'])
              current = end_chunk + 1
docs: By default, we're going to do this in chunks. This way, if there ends up being an error,
          we can check log messages and continue from that point after fixing the issue.