docs: def bulk_get_or_create(self, data_list):
          """
          data_list is the data to get or create
          We generate the query and set all the record keys based on passed in queryset
          Then we loop over each item in the data_list, which has the keys already! No need to generate them.  Should save a lot of time
          Use values instead of the whole object, much faster
          Args:
              data_list:
  
          Returns:
  
          """
          items_to_create = dict()
          for record_key, record_config in data_list.items():
              if record_key not in items_to_create:
                  record = self.get_instance(record_key)
                  if not record:
                      items_to_create[record_key] = self.model_cls(**record_config)
          if items_to_create:
              """
              TODO.  I think we can optimize this.  Switch to values, get the primary id
              Query set is just select the model with that ID.  Return the model object without running the full queryset again.  Should be a lot faster.
              """
  
              self.model_cls.objects.bulk_create(items_to_create.values())
              self.set_record_lookup(True)
          return self.record_lookup