From 22d912608b615ff268f8c67de5509a1c944f3dd4 Mon Sep 17 00:00:00 2001 From: erjemin Date: Wed, 1 Jul 2026 13:01:09 +0300 Subject: [PATCH] =?UTF-8?q?minor:=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA?= =?UTF-8?q?=D0=B0=20(17)=20=D1=82=D0=B8=D0=BF=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20cleaned=5Fdata=20=D0=B2=20=D0=B2=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B4=D0=B0=D1=82=D0=BE=D1=80=D0=B5=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D1=8B=20"=D0=9B=D0=B5=D0=B9=D0=B1=D0=BB=D1=8B"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lpon_site/frontend/admin.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lpon_site/frontend/admin.py b/lpon_site/frontend/admin.py index 40314bf..2d73f36 100644 --- a/lpon_site/frontend/admin.py +++ b/lpon_site/frontend/admin.py @@ -1,6 +1,7 @@ # Кастомная конфигурация Django Admin для LPON сайта. # Регистрируем модели с удобным интерфейсом. +from typing import Any from django import forms from django.forms import Textarea from django.contrib import admin @@ -527,7 +528,15 @@ class LabelAdminForm(CodeMirrorFormMixin): Валидируем форму: проверяем на совпадения (дубликаты) основного поля s_label. Используем GET параметр ignore_validate для пропуска валидации при переотправке. """ - cleaned_data = super().clean() + # Получаем очищенные данные формы (может быть None, но обычно это dict) + cleaned_data: dict[str, Any] | None = super().clean() + + # Если clean() вернул None, возвращаем пустой dict (для совместимости) + if cleaned_data is None: + cleaned_data = {} + + # После проверки выше, очищены данные гарантированно dict[str, Any] + assert isinstance(cleaned_data, dict), "cleaned_data должен быть словарём" # Используем универсальный хелпер для проверки дубликатов # Модель берется автоматически из self.Meta.model