Commit 39f3994e authored by Gabriel Detraz's avatar Gabriel Detraz Committed by root

Select_related et accélération des vues rest

parent 38948749
......@@ -380,7 +380,7 @@ def index_banque(request):
@login_required
@permission_required('cableur')
def index(request):
facture_list = Facture.objects.order_by('date').reverse()
facture_list = Facture.objects.order_by('date').select_related('user').select_related('paiement').prefetch_related('vente_set').reverse()
paginator = Paginator(facture_list, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
......
......@@ -68,7 +68,7 @@ def form(ctx, template, request):
@login_required
@permission_required('cableur')
def index(request):
revisions = Revision.objects.all().order_by('date_created').reverse()
revisions = Revision.objects.all().order_by('date_created').reverse().select_related('user').prefetch_related('version_set__object')
paginator = Paginator(revisions, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
......
......@@ -609,7 +609,7 @@ def del_alias(request, interfaceid):
@login_required
@permission_required('cableur')
def index(request):
machines_list = Machine.objects.order_by('pk')
machines_list = Machine.objects.select_related('user').prefetch_related('interface_set__domain__extension').prefetch_related('interface_set__ipv4__ip_type__extension').prefetch_related('interface_set__type').prefetch_related('interface_set__domain__related_domain').order_by('pk')
paginator = Paginator(machines_list, PAGINATION_LARGE_NUMBER)
page = request.GET.get('page')
try:
......@@ -637,9 +637,9 @@ def index_machinetype(request):
@login_required
@permission_required('cableur')
def index_extension(request):
extension_list = Extension.objects.order_by('name')
mx_list = Mx.objects.order_by('zone').select_related('zone')
ns_list = Ns.objects.order_by('zone').select_related('zone')
extension_list = Extension.objects.select_related('origin').order_by('name')
mx_list = Mx.objects.order_by('zone').select_related('zone').select_related('name__extension')
ns_list = Ns.objects.order_by('zone').select_related('zone').select_related('ns__extension')
return render(request, 'machines/index_extension.html', {'extension_list':extension_list, 'mx_list': mx_list, 'ns_list': ns_list})
@login_required
......@@ -751,7 +751,7 @@ def mac_ip_list(request):
@login_required
@permission_required('serveur')
def alias(request):
alias = Domain.objects.filter(interface_parent=None).filter(cname=Domain.objects.filter(interface_parent__in=Interface.objects.exclude(ipv4=None))).select_related('extension')
alias = Domain.objects.filter(interface_parent=None).filter(cname=Domain.objects.filter(interface_parent__in=Interface.objects.exclude(ipv4=None))).select_related('extension').select_related('cname__extension')
seria = DomainSerializer(alias, many=True)
return JSONResponse(seria.data)
......@@ -759,7 +759,7 @@ def alias(request):
@login_required
@permission_required('serveur')
def corresp(request):
type = IpType.objects.all()
type = IpType.objects.all().select_related('extension')
seria = TypeSerializer(type, many=True)
return JSONResponse(seria.data)
......@@ -767,7 +767,7 @@ def corresp(request):
@login_required
@permission_required('serveur')
def mx(request):
mx = Mx.objects.all()
mx = Mx.objects.all().select_related('zone').select_related('name__extension')
seria = MxSerializer(mx, many=True)
return JSONResponse(seria.data)
......@@ -775,7 +775,7 @@ def mx(request):
@login_required
@permission_required('serveur')
def ns(request):
ns = Ns.objects.exclude(ns__in=Domain.objects.filter(interface_parent__in=Interface.objects.filter(ipv4=None)))
ns = Ns.objects.exclude(ns__in=Domain.objects.filter(interface_parent__in=Interface.objects.filter(ipv4=None))).select_related('zone').select_related('ns__extension')
seria = NsSerializer(ns, many=True)
return JSONResponse(seria.data)
......@@ -783,7 +783,7 @@ def ns(request):
@login_required
@permission_required('serveur')
def zones(request):
zones = Extension.objects.all()
zones = Extension.objects.all().select_related('origin')
seria = ExtensionSerializer(zones, many=True)
return JSONResponse(seria.data)
......
......@@ -479,7 +479,7 @@ def mass_archive(request):
@permission_required('cableur')
def index(request):
""" Affiche l'ensemble des users, need droit cableur """
users_list = User.objects.order_by('state', 'name')
users_list = User.objects.select_related('room').order_by('state', 'name')
paginator = Paginator(users_list, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment