我有一些模特
# models.py
class Email(models.Model):
email = models.EmailField(blank=False, null=False)
contact_block = models.ForeignKey('contact.ContactBlockPlugin', related_name='emails', blank=False, null=False)
class ContactBlockPlugin(CMSPlugin):
address = models.TextField(blank=False, null=False)
注册pulgins
# cms_plugins.py
class EmailInlineAdmin(admin.TabularInline):
model = Email
class CMSContactBlockPlugin(CMSPluginBase):
model = ContactBlockPlugin
render_template = 'contact/contact_block.html'
inlines = (EmailInlineAdmin, )
plugin_pool.register_plugin(CMSContactBlockPlugin)
当我自动化时,我会看到模板中的所有相关对象
{# contact/contact_block.html #}
{% for email in instance.emails.all %}
<a href="mailto:{{ email.email }}">{{ email.email }}</a>
{% endfor %}
但如果我是访客,则集合instance.emails.all()
为空。
这是一个错误吗?还是不?
我怀疑对象的django权限问题,但是如何为访客用户设置它?
的Django == 1.7.10 django的-CMS == 3.1.2
提前谢谢
答案 0 :(得分:1)
如果您的插件具有数据库关系,则需要指示django CMS在复制时要执行的操作,请参阅http://docs.django-cms.org/en/develop/how_to/custom_plugins.html#handling-relations