From 130ccbf51a5ad4810dcef46584661a818b7964d3 Mon Sep 17 00:00:00 2001
From: gghezext <gghezext@comgest.com>
Date: Sun, 29 Mar 2026 03:46:48 +0200
Subject: [PATCH 1/2] Fixed #36997 -- Invalidated importlib caches after
 writing migration files.

---
 django/core/management/commands/makemigrations.py   | 3 +++
 django/core/management/commands/squashmigrations.py | 2 ++
 docs/releases/6.1.txt                               | 5 ++++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/django/core/management/commands/makemigrations.py b/django/core/management/commands/makemigrations.py
index 7f711ed7aec4..355d626ce2c4 100644
--- a/django/core/management/commands/makemigrations.py
+++ b/django/core/management/commands/makemigrations.py
@@ -1,3 +1,4 @@
+import importlib
 import os
 import sys
 import warnings
@@ -395,6 +396,7 @@ def write_migration_files(self, changes, update_previous_migration_paths=None):
                     )
                     self.log(writer.as_string())
         run_formatters(self.written_files, stderr=self.stderr)
+        importlib.invalidate_caches()
 
     @staticmethod
     def get_relative_path(path):
@@ -502,6 +504,7 @@ def all_items_equal(seq):
                     with open(writer.path, "w", encoding="utf-8") as fh:
                         fh.write(writer.as_string())
                     run_formatters([writer.path], stderr=self.stderr)
+                    importlib.invalidate_caches()
                     if self.verbosity > 0:
                         self.log("\nCreated new merge migration %s" % writer.path)
                         if self.scriptable:
diff --git a/django/core/management/commands/squashmigrations.py b/django/core/management/commands/squashmigrations.py
index 9845b4d4567b..abc87717b66b 100644
--- a/django/core/management/commands/squashmigrations.py
+++ b/django/core/management/commands/squashmigrations.py
@@ -1,3 +1,4 @@
+import importlib
 import os
 import shutil
 
@@ -208,6 +209,7 @@ def handle(self, **options):
         with open(writer.path, "w", encoding="utf-8") as fh:
             fh.write(writer.as_string())
         run_formatters([writer.path], stderr=self.stderr)
+        importlib.invalidate_caches()
 
         if self.verbosity > 0:
             self.stdout.write(
