mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #23844 -- Used topological sort for migration operation dependency resolution.
This removes the concept of equality between operations to guarantee
compatilibity with Python 3.
Python 3 requires equality to result in identical object hashes. It's
impossible to implement a unique hash that preserves equality as
operations such as field creation depend on being able to accept
arbitrary dicts that cannot be hashed reliably.
Thanks Klaas van Schelven for the original patch in
13d613f800.
This commit is contained in:
committed by
Tim Graham
parent
53908c1f93
commit
21e21c7bc2
@@ -1268,12 +1268,12 @@ class AutodetectorTests(TestCase):
|
||||
# Right number/type of migrations?
|
||||
self.assertNumberMigrations(changes, "testapp", 1)
|
||||
self.assertOperationTypes(changes, "testapp", 0, [
|
||||
"RemoveField", "RemoveField", "DeleteModel", "RemoveField", "DeleteModel"
|
||||
"RemoveField", "RemoveField", "RemoveField", "DeleteModel", "DeleteModel"
|
||||
])
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 0, name="publishers", model_name='author')
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 1, name="author", model_name='contract')
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 2, name="Author")
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 3, name="publisher", model_name='contract')
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 2, name="publisher", model_name='contract')
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 3, name="Author")
|
||||
self.assertOperationAttributes(changes, "testapp", 0, 4, name="Contract")
|
||||
|
||||
def test_non_circular_foreignkey_dependency_removal(self):
|
||||
|
||||
Reference in New Issue
Block a user