import vouchers from django.contrib import admin indent_str = u"\u00A0\u00A0" class BudgetAreaAdmin(admin.ModelAdmin): pass #fields = [ 'path', 'name', 'comment', 'owner', 'interested', ] class BudgetTermAdmin(admin.ModelAdmin): prepopulated_fields = {"slug": ("name",)} class ReimbursementRequestAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request=None, **kwargs): field = super(ReimbursementRequestAdmin, self).formfield_for_foreignkey( db_field, request, **kwargs) print "In RRA" if db_field.rel.to == vouchers.models.BudgetArea: field.label_from_instance = self.get_budgetarea_name return field def get_budgetarea_name(self, area, ): return indent_str*area.depth + unicode(area) fieldsets = [ ('Request metadata', {'fields': ['submitter']}), ('Recipient', {'fields': ['check_to_name', 'check_to_email', 'check_to_addr', ] }), ('Expense details', {'fields': ['amount', 'budget_area', 'budget_term', ] }), ] admin.site.register(vouchers.models.BudgetArea, BudgetAreaAdmin) admin.site.register(vouchers.models.BudgetTerm, BudgetTermAdmin) admin.site.register(vouchers.models.BudgetAreaTerm) admin.site.register(vouchers.models.ReimbursementRequest, ReimbursementRequestAdmin)