diff options
Diffstat (limited to 'webapp/django/contrib/databrowse/views.py')
-rw-r--r-- | webapp/django/contrib/databrowse/views.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/webapp/django/contrib/databrowse/views.py b/webapp/django/contrib/databrowse/views.py new file mode 100644 index 0000000000..4543e95780 --- /dev/null +++ b/webapp/django/contrib/databrowse/views.py @@ -0,0 +1,19 @@ +from django.http import Http404 +from django.shortcuts import render_to_response + +########### +# 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}) |