app/django/contrib/databrowse/views.py
author Todd Larsen <tlarsen@google.com>
Mon, 28 Jul 2008 20:42:10 +0000
changeset 58 cee78a1ae672
parent 54 03e267d67478
child 323 ff1a9aa48cfd
permissions -rw-r--r--
Mockups for some of the Melange views, adapted from the existing GSoC web app (but in some cases significantly altered). All of the relative links assume /svn/trunk/mockups/ so that the pages will display properly when accessed from http://soc.googlecode.com/svn/trunk/mockups/.

from django.db.models import FieldDoesNotExist, DateTimeField
from django.http import Http404
from django.shortcuts import render_to_response
from django.contrib.databrowse.datastructures import EasyModel, EasyChoice

###########
# CHOICES #
###########

def choice_list(request, app_label, module_name, field_name, models):
    m, f = lookup_field(app_label, module_name, field_name, models)
    return render_to_response('databrowse/choice_list.html', {'model': m, 'field': f})

def choice_detail(request, app_label, module_name, field_name, field_val, models):
    m, f = lookup_field(app_label, module_name, field_name, models)
    try:
        label = dict(f.field.choices)[field_val]
    except KeyError:
        raise Http404('Invalid choice value given')
    obj_list = m.objects(**{f.field.name: field_val})
    return render_to_response('databrowse/choice_detail.html', {'model': m, 'field': f, 'value': label, 'object_list': obj_list})