How to access the parent model of a Django-CMS plugin -


i created 2 django-cms plugins, parent "container" can contain multiple child "content" plugins.

when save child plugin access model of parent plugin.

from cms.plugin_pool import plugin_pool cms.plugin_base import cmspluginbase  .models import container, content  class containerplugin(cmspluginbase):     model = container     name = "foo container"     render_template = "my_package/container.html"     allow_children = true     child_classes = ["contentplugin"]  class contentplugin(cmspluginbase):     model = content     name = "bar content"     render_template = "my_package/content.html"     require_parent = true     parent_classes = ["containerplugin"]     allow_children = true      def save_model(self, request, obj, form, change):         response = super(contentplugin, self).save_model(             request, obj, form, change         )          # here want access parent's (container) model, how?          return response  plugin_pool.register_plugin(containerplugin) plugin_pool.register_plugin(contentplugin) 

obj current plugin instance, can properties of model, can't figure out how access parent's plugin model. there obj.parent, it's not plugin instance far can tell. tried playing around self.cms_plugin_instance , obj.parent.get_plugin_instance() no success.

any advice?

given plugin instance,instance.get_plugin_instance() method returns tuple containing:

  1. instance - plugin instance
  2. plugin - associated plugin class instance get_plugin_instance

so parent object:

instance, plugin_class = object.parent.get_plugin_instance() 

Comments