1+ import  json , django 
12from  future .builtins  import  str , int 
23from  django .conf  import  settings 
34from  django .core .urlresolvers  import  reverse 
78from  polymorphic .admin  import  PolymorphicParentModelAdmin , PolymorphicModelChoiceForm 
89from  polymorphic_tree .models  import  PolymorphicMPTTModel 
910from  mptt .admin  import  MPTTModelAdmin 
10- import  json 
1111
1212try :
1313 # Django 1.6 requires this 
@@ -32,12 +32,14 @@ class NodeTypeChoiceForm(PolymorphicModelChoiceForm):
3232except  ImportError :
3333 extra_list_filters  =  ()
3434else :
35-  # Django 1.4: 
35+  # Django 1.4+ : 
3636 class  NodeTypeListFilter (SimpleListFilter ):
3737 parameter_name  =  'ct_id' 
3838 title  =  _ ('node type' )
3939
4040 def  lookups (self , request , model_admin ):
41+  if  django .VERSION [:2 ] >  (1 , 6 ):
42+  return  model_admin .get_child_type_choices (request , 'list' )
4143 return  model_admin .get_child_type_choices ()
4244
4345 def  queryset (self , request , queryset ):
@@ -147,7 +149,10 @@ def get_urls(self):
147149 Add custom URLs for moving nodes. 
148150 """ 
149151 base_urls  =  super (PolymorphicMPTTParentModelAdmin , self ).get_urls ()
150-  info  =  self .model ._meta .app_label , self .model ._meta .module_name 
152+  try :
153+  info  =  self .model ._meta .app_label , self .model ._meta .model_name 
154+  except :
155+  info  =  self .model ._meta .app_label , self .model ._meta .module_name 
151156 extra_urls  =  [
152157 url (r'^api/node-moved/$' , self .admin_site .admin_view (self .api_node_moved_view ), name = '{0}_{1}_moved' .format (* info )),
153158 url (r'^(\d+)/move_up/$' , self .admin_site .admin_view (self .move_up_view )),
0 commit comments