【发布时间】:2019-09-15 12:49:48
【问题描述】:
我的模特:
class Post(models.Model):
title = models.CharField(max_length=100)
short_description = models.CharField(max_length=100)
image = models.ImageField(upload_to="uploads/images/")
content = HTMLField(blank=True)
slug = AutoSlugField(always_update=True,populate_from='title', unique=True)
date_created = models.DateField(default=datetime.date.today())
CMS 插件:
class PostPlugin(CMSPlugin):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
注册插件:
@plugin_pool.register_plugin
class CMSPostPlugin(CMSPluginBase):
model = PostPlugin
name = _("Post")
render_template = "post/post.html"
allow_children = True
admin_preview = True
module = "subpage"
def render(self, context, instance, placeholder):
context.update({
'post':instance.post,
'instance':instance,
'placeholder':placeholder
})
return context
所以,在那之后,我把它添加到我的数据库中,中间表就创建好了。这里是截图。 table screenshot
这是我获取插件实例的方式:
CMSPlugin.objects.filter(plugin_type='CMSPostPlugin', placeholder_id=placehoder.id)
随后,我想从这个中间表中获取Post 模型,但我不知道该怎么做。
当然,我可以像通过名称获取表然后获取帖子 ID 一样对其进行硬编码,但也许 Django CMS 有一个“正常”的解决方案?
【问题讨论】:
标签: django python-3.x django-cms