          for related in opts.get_all_related_objects(
                  include_hidden=True, include_proxy_eq=True):
              if related.field.rel.on_delete is not DO_NOTHING:
                  return False
          # GFK deletes
          for relation in opts.many_to_many:
              if not relation.rel.through:
                  return False
          return True
  
      def collect(self, objs, source=None, nullable=False, collect_related=True,
              source_attr=None, reverse_dependency=False):
 
</s> remove     Developer, Team, Guild, Tag, Board, HasLinkThing, A, B, C, D)
 </s> add     Developer, Team, Guild, Tag, Board, HasLinkThing, A, B, C, D,
    Related, Content, Node,
)
        for field in model._meta.virtual_fields:
            if hasattr(field, 'bulk_related_objects'):
                # It's something like generic foreign key.
          for related in opts.get_all_related_objects(
                  include_hidden=True, include_proxy_eq=True):
              if related.field.rel.on_delete is not DO_NOTHING:
                  return False
        for field in model._meta.virtual_fields:
            if hasattr(field, 'bulk_related_objects'):
                # It's something like generic foreign key.
        for field in model._meta.virtual_fields:
            if hasattr(field, 'bulk_related_objects'):
                # It's something like generic foreign key.
        for field in model._meta.virtual_fields:
            if hasattr(field, 'bulk_related_objects'):
                # It's something like generic foreign key.
                  return False
          return True
  
      def collect(self, objs, source=None, nullable=False, collect_related=True,
              source_attr=None, reverse_dependency=False):
keep keep keep keep replace replace replace keep keep keep keep keep
 Fixed #22998 -- Updated the fast_delete logic for GFKs 
django/db/models/deletion.py