src/egonomy/views.py
changeset 121 447ffbbddc7f
parent 110 4732fcfd3a76
child 159 b98558f8d2c1
equal deleted inserted replaced
120:b1e22c229870 121:447ffbbddc7f
    28 
    28 
    29 def home(request):
    29 def home(request):
    30     
    30     
    31     # We force list() because if not, img_id_list is a valuelistqueryset and not a list of values.
    31     # We force list() because if not, img_id_list is a valuelistqueryset and not a list of values.
    32     # We separate image requests and make requests with select_related to optimize database hits.
    32     # We separate image requests and make requests with select_related to optimize database hits.
    33     img_id_list = list(Image.objects.values_list('id', flat=True).annotate(date_modif=Max('fragment__date_saved')).exclude(date_modif=None).order_by('-date_modif')[:12])
    33     nb_display = 4
       
    34     img_id_list = list(Image.objects.values_list('id', flat=True).annotate(date_modif=Max('fragment__date_saved')).exclude(date_modif=None).order_by('-date_modif')[:nb_display])
    34     img_list = Image.objects.filter(id__in=img_id_list).select_related('info', 'metadata')
    35     img_list = Image.objects.filter(id__in=img_id_list).select_related('info', 'metadata')
    35     frg_list = Fragment.objects.all().order_by('-date_saved').select_related('image', 'image__info', 'image__metadata','author')[:12]
    36     frg_list = Fragment.objects.all().order_by('-date_saved').select_related('image', 'image__info', 'image__metadata','author')[:nb_display]
    36     
    37     
    37     return render_to_response("egonomy_home.html",
    38     return render_to_response("egonomy_home.html",
    38                               {'img_list':img_list, 'fragment_list':frg_list},
    39                               {'img_list':img_list, 'fragment_list':frg_list},
    39                               context_instance=RequestContext(request))
    40                               context_instance=RequestContext(request))
    40 
    41