Skip to content

Commit 5120638

Browse files
committed
Introduce predictable ordering cbv_dumpversion
1 parent 0743aaf commit 5120638

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

cbv/management/commands/cbv_dumpversion.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,23 @@ class Command(LabelCommand):
1111

1212
def handle_label(self, label, **options):
1313
querysets = (
14+
# There will be only one ProjectVersion, so no need for ordering.
1415
models.ProjectVersion.objects.filter(version_number=label),
15-
models.Module.objects.filter(project_version__version_number=label),
16-
models.Klass.objects.filter(module__project_version__version_number=label),
16+
models.Module.objects.filter(
17+
project_version__version_number=label
18+
).order_by("name"),
19+
models.Klass.objects.filter(
20+
module__project_version__version_number=label
21+
).order_by("module__name", "name"),
1722
models.KlassAttribute.objects.filter(
1823
klass__module__project_version__version_number=label
19-
),
24+
).order_by("klass__module__name", "klass__name", "name"),
2025
models.Method.objects.filter(
2126
klass__module__project_version__version_number=label
22-
),
27+
).order_by("klass__module__name", "klass__name", "name"),
2328
models.Inheritance.objects.filter(
2429
parent__module__project_version__version_number=label
25-
),
30+
).order_by("child__module__name", "child__name", "order"),
2631
)
2732
objects = list(chain.from_iterable(querysets))
2833
for obj in objects:

0 commit comments

Comments
 (0)