Python django cms占位符位于cms外部-如何使用占位符从连接的一个模型获取相关模型?
我已经编写了以下cms插件。有了它,用户可以将一条新闻条目的连接添加到一个项目中 cms_plugins.py:Python django cms占位符位于cms外部-如何使用占位符从连接的一个模型获取相关模型?,python,django,django-cms,django-queryset,django-mptt,Python,Django,Django Cms,Django Queryset,Django Mptt,我已经编写了以下cms插件。有了它,用户可以将一条新闻条目的连接添加到一个项目中 cms_plugins.py: from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool class CMSProjectPlugin(CMSPluginBase): model = ProjectPlugin name = _("Project") render_templat
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
class CMSProjectPlugin(CMSPluginBase):
model = ProjectPlugin
name = _("Project")
render_template = "CMSProjectPlugin.html"
def render(self, context, instance, placeholder):
context.update({
'project':instance.project,
'object':instance,
'placeholder':placeholder
})
return context
plugin_pool.register_plugin(CMSProjectPlugin)
型号:
from django.db import models
from cms.models.fields import PlaceholderField
class Project(models.Model):
title=models.CharField(_('Title'),max_length=250)
slug = AutoSlugField(populate_from='title')
class ProjectPlugin(CMSPlugin):
project = models.ForeignKey(Project)
class NewsEntry(models.Model):
title=models.CharField(_('Title'),max_length=250)
content = PlaceholderField('news_content')
如果我有项目ID,如何获得所有连接新闻条目的列表?(对于项目详细信息页面上的反向链接)这应该可以:
placeholders = []
for plugin in project.projectplugin_set.all():
placeholders.append(plugin.placeholder_id)
NewsEntry.objects.filter(content__in=placeholders).distinct()
您可以发布您的模型吗?
新闻条目
如何连接到项目
?您当前的模型方案在两者之间没有任何联系。看一看,除了对象中的s缺失外,它工作得很好!太多了!