Пример обработки formset
В данном примере мы имеем доступ к управляющей (главной) форме и к его инлайновым формам. Это позволяет нам проводить более сложные "совместные" проверки, например:
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.forms import BaseInlineFormSet from django.contrib import admin from django.core.exceptions import ValidationError class GalleryPictureInlineFormSet(BaseInlineFormSet): def clean(self): if self.management_form.data.get('is_thumbs_hidden', None) == 'on' and not any([form.cleaned_data.get('is_use_preview_window') for form in self.forms]): raise ValidationError('Выберите опцию либо "Отображать миниатюры галереи", ' 'либо "Использовать в окне предпросмотра" в конкретном изображении') class GalleryPictureInline(admin.TabularInline): formset = GalleryPictureInlineFormSet model = GalleryPicture extra = 0 class Gallery(admin.ModelAdmin): ... inlines = (GalleryPictureInline, )