Loading django/core/management/commands/dumpdata.py +2 −2 Original line number Diff line number Diff line Loading @@ -150,11 +150,11 @@ def sort_dependencies(app_list): for field in model._meta.fields: if hasattr(field.rel, 'to'): rel_model = field.rel.to if hasattr(rel_model, 'natural_key'): if hasattr(rel_model, 'natural_key') and rel_model != model: deps.append(rel_model) for field in model._meta.many_to_many: rel_model = field.rel.to if hasattr(rel_model, 'natural_key'): if hasattr(rel_model, 'natural_key') and rel_model != model: deps.append(rel_model) model_dependencies.append((model, deps)) Loading tests/regressiontests/fixtures_regress/fixtures/forward_ref_lookup.json +3 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ "pk": "2", "model": "fixtures_regress.store", "fields": { "main": null, "name": "Amazon" } }, Loading @@ -17,6 +18,7 @@ "pk": "3", "model": "fixtures_regress.store", "fields": { "main": null, "name": "Borders" } }, Loading tests/regressiontests/fixtures_regress/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ class TestManager(models.Manager): class Store(models.Model): objects = TestManager() name = models.CharField(max_length=255) main = models.ForeignKey('self', null=True) class Meta: ordering = ('name',) Loading tests/regressiontests/fixtures_regress/tests.py +1 −1 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ class NaturalKeyFixtureTests(TestCase): ) self.assertEqual( stdout.getvalue(), """[{"pk": 2, "model": "fixtures_regress.store", "fields": {"name": "Amazon"}}, {"pk": 3, "model": "fixtures_regress.store", "fields": {"name": "Borders"}}, {"pk": 4, "model": "fixtures_regress.person", "fields": {"name": "Neal Stephenson"}}, {"pk": 1, "model": "fixtures_regress.book", "fields": {"stores": [["Amazon"], ["Borders"]], "name": "Cryptonomicon", "author": ["Neal Stephenson"]}}]""" """[{"pk": 2, "model": "fixtures_regress.store", "fields": {"main": null, "name": "Amazon"}}, {"pk": 3, "model": "fixtures_regress.store", "fields": {"main": null, "name": "Borders"}}, {"pk": 4, "model": "fixtures_regress.person", "fields": {"name": "Neal Stephenson"}}, {"pk": 1, "model": "fixtures_regress.book", "fields": {"stores": [["Amazon"], ["Borders"]], "name": "Cryptonomicon", "author": ["Neal Stephenson"]}}]""" ) def test_dependency_sorting(self): Loading Loading
django/core/management/commands/dumpdata.py +2 −2 Original line number Diff line number Diff line Loading @@ -150,11 +150,11 @@ def sort_dependencies(app_list): for field in model._meta.fields: if hasattr(field.rel, 'to'): rel_model = field.rel.to if hasattr(rel_model, 'natural_key'): if hasattr(rel_model, 'natural_key') and rel_model != model: deps.append(rel_model) for field in model._meta.many_to_many: rel_model = field.rel.to if hasattr(rel_model, 'natural_key'): if hasattr(rel_model, 'natural_key') and rel_model != model: deps.append(rel_model) model_dependencies.append((model, deps)) Loading
tests/regressiontests/fixtures_regress/fixtures/forward_ref_lookup.json +3 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ "pk": "2", "model": "fixtures_regress.store", "fields": { "main": null, "name": "Amazon" } }, Loading @@ -17,6 +18,7 @@ "pk": "3", "model": "fixtures_regress.store", "fields": { "main": null, "name": "Borders" } }, Loading
tests/regressiontests/fixtures_regress/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ class TestManager(models.Manager): class Store(models.Model): objects = TestManager() name = models.CharField(max_length=255) main = models.ForeignKey('self', null=True) class Meta: ordering = ('name',) Loading
tests/regressiontests/fixtures_regress/tests.py +1 −1 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ class NaturalKeyFixtureTests(TestCase): ) self.assertEqual( stdout.getvalue(), """[{"pk": 2, "model": "fixtures_regress.store", "fields": {"name": "Amazon"}}, {"pk": 3, "model": "fixtures_regress.store", "fields": {"name": "Borders"}}, {"pk": 4, "model": "fixtures_regress.person", "fields": {"name": "Neal Stephenson"}}, {"pk": 1, "model": "fixtures_regress.book", "fields": {"stores": [["Amazon"], ["Borders"]], "name": "Cryptonomicon", "author": ["Neal Stephenson"]}}]""" """[{"pk": 2, "model": "fixtures_regress.store", "fields": {"main": null, "name": "Amazon"}}, {"pk": 3, "model": "fixtures_regress.store", "fields": {"main": null, "name": "Borders"}}, {"pk": 4, "model": "fixtures_regress.person", "fields": {"name": "Neal Stephenson"}}, {"pk": 1, "model": "fixtures_regress.book", "fields": {"stores": [["Amazon"], ["Borders"]], "name": "Cryptonomicon", "author": ["Neal Stephenson"]}}]""" ) def test_dependency_sorting(self): Loading