X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/92aff1148db7b03f585dbe204abda452a402c20c..bf7348280872f3e17f6cb766f27d57c41d9e2ae0:/admin/nodes.py?ds=inline 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 }