code: def create_by_natural_key(self, *args):
          
  
          kwargs = self.natural_key_kwargs(*args)
          for name, rel_to in self.model.get_natural_key_info():
              if not rel_to:
                  continue
              nested_key = extract_nested_key(kwargs, rel_to, name)
              # Automatically create any related objects as needed
              if nested_key:
                  kwargs[name], is_new = (
                      rel_to.objects.get_or_create_by_natural_key(*nested_key)
                  )
              else:
                  kwargs[name] = None
          return self.create(**kwargs)
docs: Create a new object from the provided natural key values.  If the
          natural key contains related objects, recursively get or create them by
          their natural keys.