Пример обработки 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