4

管理フォームを上書きする以外に、コンテンツタイプをページごとに 1 回だけ許可するデフォルトのアクションはありますか? ドキュメントはこれについて不明確です

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 に答える