4

是否有任何默认操作允许每页只允许一次内容类型,然后覆盖管理表单?文档对此不清楚

4

1 回答 1

2

我认为没有开箱即用的实现,你可以在Github上推荐一个。由于 FeinCMS 内容类型是一个抽象的 Django 模型类,你可以使用它的 clean 方法,例如

class FooContent(models.Model):
    content = models.Bar('...')

    class Meta:
        abstract = True

    def clean(self):
        if self.parent.foocontent_set.count() >= 1:
            raise ValidationError('FooContent is only allowed once per Page.')

    def render(self, **kwargs):
        return render_to_string('content/foo.html', {
            'content': self.content
        })

这将在管理表单上引发非字段错误。

于 2013-05-15T15:10:38.267 回答