Skip to content

Commit

Permalink
Работа над админкой.
Browse files Browse the repository at this point in the history
  • Loading branch information
eugemos committed Sep 4, 2023
1 parent a844fe1 commit a4e2f14
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 19 deletions.
21 changes: 5 additions & 16 deletions backend/recipes/admin.py
Original file line number Diff line number Diff line change
@@ -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 = 'Ингредиент в этом рецепте'
Expand All @@ -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)


Expand Down
4 changes: 1 addition & 3 deletions backend/users/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down

0 comments on commit a4e2f14

Please sign in to comment.