summaryrefslogtreecommitdiffstats
path: root/webapp/django/contrib/databrowse/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/django/contrib/databrowse/views.py')
-rw-r--r--webapp/django/contrib/databrowse/views.py19
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})