0

検証が非常に厳しいテーブルがいくつかあります。便宜上、これらのいくつかを関連するテーブルにインライン化しました。インラインは読み取り専用であり、すべてのフィールドは読み取り専用としてマークされています。ただし、インライン化されているページを保存すると、まだ検証されています。これにより、ページの保存時間が非常に長くなります。この動作を防ぐ安全な方法は何ですか? 安全とは、検証を実行せずに誤って保存しないことが非常に重要であることを意味します。

4

1 に答える 1

2

これは私がこれまでに持っているものです、それは理にかなっていて、うまくいくようです:

class ReadOnlyInlineFormSet(BaseInlineFormSet):
    """ This inline can't save and subsequently doesn't need to validate """

    def save(self, commit=True):
        self.new_objects = []
        self.changed_objects = []
        self.deleted_objects = []
        return []

    def is_valid(self):
        return True

そして、各インラインで:

formset = ReadOnlyInlineFormSet
于 2013-01-23T15:24:54.243 に答える