Пример обработки formset
5 апреля 2016 г. 7:16
В данном примере мы имеем доступ к управляющей (главной) форме и к его инлайновым формам. Это позволяет нам проводить более сложные "совместные" проверки, например:
# -*- 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, )
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0