X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/5af34c3a3d2d9394b2e74d51fb8492ac0073ee31..088e70a53fce687d07332ea19664f233b0b8007b:/admin/nodes.py diff --git a/admin/nodes.py b/admin/nodes.py index fdfbc02..e2a9c9d 100644 --- a/admin/nodes.py +++ b/admin/nodes.py @@ -1,12 +1,14 @@ from django.contrib import admin from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES from philo.models import Node, Redirect, File +from mptt.admin import MPTTModelAdmin class NodeAdmin(TreeEntityAdmin): list_display = ('slug', 'view', 'accepts_subpath') - related_field_lookups = { - 'fk': [], + raw_id_fields = ('parent',) + related_lookup_fields = { + 'fk': raw_id_fields, 'm2m': [], 'generic': [['view_content_type', 'view_object_id']] } @@ -14,6 +16,9 @@ class NodeAdmin(TreeEntityAdmin): def accepts_subpath(self, obj): return obj.accepts_subpath accepts_subpath.boolean = True + + def formfield_for_foreignkey(self, db_field, request, **kwargs): + return super(MPTTModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) class ViewAdmin(EntityAdmin): @@ -33,8 +38,8 @@ class RedirectAdmin(ViewAdmin): list_display = ('target_url', 'status_code', 'target_node', 'url_or_subpath') list_filter = ('status_code',) raw_id_fields = ['target_node'] - related_field_lookups = { - 'fk': ['target_node'] + related_lookup_fields = { + 'fk': raw_id_fields }