from django.contrib import admin import models class DocumentAdmin(admin.ModelAdmin): list_display = ['name', 'pdf', 'number_of_pages'] def number_of_pages(self, instance): return instance.page_set.count() class PageAdmin(admin.ModelAdmin): list_display = ['document', 'name', 'image', 'page_num'] order_by = ['document', 'page_num'] class FormFieldAdmin(admin.ModelAdmin): list_display = ['name', 'page', 'fieldtype', 'page_number', 'pos_y'] ordering = ('page', 'page__page_num', '-pos_y') def page_number(self, instance): return instance.page.page_num admin.site.register(models.Document, DocumentAdmin) admin.site.register(models.Page, PageAdmin) admin.site.register(models.FormField, FormFieldAdmin)