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:
- instance - plugin instance
- plugin - associated plugin class instance get_plugin_instance
so parent object:
instance, plugin_class = object.parent.get_plugin_instance()
Comments
Post a Comment