diff --git a/backend/recipes/admin.py b/backend/recipes/admin.py index cbae150..5203702 100644 --- a/backend/recipes/admin.py +++ b/backend/recipes/admin.py @@ -1,28 +1,22 @@ """Содержит настройки административной панели для приложения recipes.""" from django import forms from django.contrib import admin -from django.core.exceptions import ValidationError from .models import Tag, Ingredient, Recipe, IngredientOccurence class IngredientOccurenceAdminFormSet(forms.BaseInlineFormSet): - # validate_min = True - def clean(self): - if any(self.errors): - return - - if all(self._should_delete_form(form) for form in self.forms): - raise ValidationError('Нельзя удалить все ингредиенты.') + default_error_messages = dict( + too_few_forms='Рецепт должен содержать хотя бы один ингредиент.' + ) class IngredientOccurenceInline(admin.TabularInline): """Настройки отображения модели IngredientOccurence в административной панели. """ - # formset = IngredientOccurenceAdminFormSet + formset = IngredientOccurenceAdminFormSet model = IngredientOccurence - # validate_min = True extra = 0 min_num = 1 verbose_name = 'Ингредиент в этом рецепте' @@ -35,12 +29,7 @@ def measurement_unit(self, occurence): return occurence.ingredient.measurement_unit def get_formset(self, request, obj=None, **kwargs): - kwargs.update( - validate_min=True, - error_messages=dict( - too_few_forms='Рецепт должен содержать хотя бы один ингредиент.' - ) - ) + kwargs.update(validate_min=True) return super().get_formset(request, obj, **kwargs) diff --git a/backend/users/admin.py b/backend/users/admin.py index c41959b..fa6239c 100644 --- a/backend/users/admin.py +++ b/backend/users/admin.py @@ -8,12 +8,10 @@ class UserAdminForm(forms.ModelForm): def clean_subscribed_to(self): - # print(f'\nINSTANCE: {self.instance.pk}\n') - # print(f'\nC_DATA: {self.cleaned_data}\n') value = self.cleaned_data['subscribed_to'] if value.filter(pk=self.instance.pk).exists(): raise ValidationError('Нельзя подписаться на самого себя.') - + return value