从另一个cmsplugin引用cmsplugin

时间:2013-10-23 08:55:31

标签: django django-cms

我正在寻找一种灵活的方式从另一个cmsplugin引用一个cmsplugin,以便允许用户在它们之间创建链接。

这一定是一个非常普遍的问题,所以应该有一个标准的解决方案。但我找不到它。

我目前的想法是在我的cmsplugin模型中添加一个字段(在我的例子中)ManyToManyField指向CMSPluginBase之类的字符。然后,必须设置选项limit_choices_to并以一种人类可读方式显示选项的方式呈现表单。但我想避免重新发明轮子。

1 个答案:

答案 0 :(得分:0)

我使用title字段作为CMSPlugin对象的唯一标识来解决我的问题。在查找相关对象时,我首先获取其标题,然后执行查询以收集具有正确标题和发布语言的所有对象。当然,这不是一个好的解决方案。

CMSPlugin模型中有一种处理关系的标准方法。一个人应该定义一个copy_related方法,如here所述。但是当关系指向另一个CMSPlugin时,这个解决方案并不适用于我。这是由于草稿页面如何转换为已发布页面的机制。