class_docstr: Storage adapter that allows ChatterBot to interact with
  Django storage backends.
class_docstr_tok: ["Storage","adapter","that","allows","ChatterBot","to","interact","with","Django","storage","backends","."]
docstr: Creates multiple statement entries.
docstr_tok: ["Creates","multiple","statement","entries","."]
code: def create_many(self, statements):
      """
      Creates multiple statement entries.
      """
      Statement = self.get_model("statement")
      Tag = self.get_model("tag")
  
      tag_cache = {}
  
      for statement in statements:
          statement_data = statement.serialize()
          tag_data = statement_data.pop("tags", [])
  
          statement_model_object = Statement(**statement_data)
  
          if not statement.search_text:
              statement_model_object.search_text = (
                  self.tagger.get_text_index_string(statement.text)
              )
  
          if (
              not statement.search_in_response_to
              and statement.in_response_to
          ):
              statement_model_object.search_in_response_to = (
                  self.tagger.get_text_index_string(
                      statement.in_response_to
                  )
              )
  
          statement_model_object.save()
  
          tags_to_add = []
  
          for tag_name in tag_data:
              if tag_name in tag_cache:
                  tag = tag_cache[tag_name]
              else:
                  tag, _ = Tag.objects.get_or_create(name=tag_name)
                  tag_cache[tag_name] = tag
              tags_to_add.append(tag)
  
          statement_model_object.tags.add(*tags_to_add)
  
file_path: ChatterBot/chatterbot/storage/django_storage.py
imports: from chatterbot.storage import StorageAdapter
  from chatterbot import constants
label_desc: Use image node_id 7 for calling the DjangoStorageAdapter obj's underlying member method code with example usage: obj.create_many(statements) without return types