summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/db/backends/base/schema.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/django/db/backends/base/schema.py b/django/db/backends/base/schema.py
index 2a37b13895..468ab42490 100644
--- a/django/db/backends/base/schema.py
+++ b/django/db/backends/base/schema.py
@@ -1,4 +1,5 @@
import logging
+import operator
from datetime import datetime
from django.db.backends.ddl_references import (
@@ -35,11 +36,15 @@ def _is_relevant_relation(relation, altered_field):
def _all_related_fields(model):
- return model._meta._get_fields(
- forward=False,
- reverse=True,
- include_hidden=True,
- include_parents=False,
+ # Related fields must be returned in a deterministic order.
+ return sorted(
+ model._meta._get_fields(
+ forward=False,
+ reverse=True,
+ include_hidden=True,
+ include_parents=False,
+ ),
+ key=operator.attrgetter("name"),
)