|
43 | 43 | @login_required |
44 | 44 | def repo_list(request): |
45 | 45 |
|
46 | | - repos = Repository.objects.select_related().order_by('name') |
| 46 | + repos = Repository.objects.select_related('arch').order_by('name') |
47 | 47 |
|
48 | 48 | if 'repotype' in request.GET: |
49 | 49 | repos = repos.filter(repotype=request.GET['repotype']) |
@@ -146,11 +146,11 @@ def move_mirrors(repo): |
146 | 146 | hostrepo.delete() |
147 | 147 | mirror.repo = repo |
148 | 148 | mirror.save() |
149 | | - if oldrepo.mirror_set.count() == 0: |
| 149 | + if not oldrepo.mirror_set.exists(): |
150 | 150 | oldrepo.delete() |
151 | 151 |
|
152 | 152 | # Use cached packages_count instead of expensive annotation |
153 | | - mirrors = Mirror.objects.select_related().order_by('packages_checksum') |
| 153 | + mirrors = Mirror.objects.select_related('repo').order_by('packages_checksum') |
154 | 154 |
|
155 | 155 | checksum = None |
156 | 156 | if 'checksum' in request.GET: |
@@ -318,9 +318,7 @@ def repo_edit(request, repo_id): |
318 | 318 | repo = edit_form.save() |
319 | 319 | repo.save() |
320 | 320 | mirrors = edit_form.cleaned_data['mirrors'] |
321 | | - for mirror in mirrors: |
322 | | - mirror.repo = repo |
323 | | - mirror.save() |
| 321 | + mirrors.update(repo=repo) |
324 | 322 | if repo.enabled: |
325 | 323 | repo.enable() |
326 | 324 | else: |
@@ -418,7 +416,7 @@ def _get_filtered_repos(filter_params): |
418 | 416 | from urllib.parse import parse_qs |
419 | 417 | params = parse_qs(filter_params) |
420 | 418 |
|
421 | | - repos = Repository.objects.select_related().order_by('name') |
| 419 | + repos = Repository.objects.select_related('arch').order_by('name') |
422 | 420 |
|
423 | 421 | if 'repotype' in params: |
424 | 422 | repos = repos.filter(repotype=params['repotype'][0]) |
@@ -509,7 +507,7 @@ def _get_filtered_mirrors(filter_params): |
509 | 507 | from urllib.parse import parse_qs |
510 | 508 | params = parse_qs(filter_params) |
511 | 509 |
|
512 | | - mirrors = Mirror.objects.select_related().order_by('packages_checksum') |
| 510 | + mirrors = Mirror.objects.select_related('repo').order_by('packages_checksum') |
513 | 511 |
|
514 | 512 | if 'checksum' in params: |
515 | 513 | mirrors = mirrors.filter(packages_checksum=params['checksum'][0]) |
@@ -591,21 +589,21 @@ class RepositoryViewSet(viewsets.ModelViewSet): |
591 | 589 | """ |
592 | 590 | API endpoint that allows repositories to be viewed or edited. |
593 | 591 | """ |
594 | | - queryset = Repository.objects.all() |
| 592 | + queryset = Repository.objects.select_related('arch').all() |
595 | 593 | serializer_class = RepositorySerializer |
596 | 594 |
|
597 | 595 |
|
598 | 596 | class MirrorViewSet(viewsets.ModelViewSet): |
599 | 597 | """ |
600 | 598 | API endpoint that allows mirrors to be viewed or edited. |
601 | 599 | """ |
602 | | - queryset = Mirror.objects.all() |
| 600 | + queryset = Mirror.objects.select_related('repo').all() |
603 | 601 | serializer_class = MirrorSerializer |
604 | 602 |
|
605 | 603 |
|
606 | 604 | class MirrorPackageViewSet(viewsets.ModelViewSet): |
607 | 605 | """ |
608 | 606 | API endpoint that allows mirror packages to be viewed or edited. |
609 | 607 | """ |
610 | | - queryset = MirrorPackage.objects.all() |
| 608 | + queryset = MirrorPackage.objects.select_related('mirror', 'package').all() |
611 | 609 | serializer_class = MirrorPackageSerializer |
0 commit comments