SOME ABEBE

This commit is contained in:
ITQ
2025-03-01 02:44:45 +03:00
parent 930fb23bbc
commit baacef032a
8 changed files with 75 additions and 9 deletions
+24
View File
@@ -0,0 +1,24 @@
from django.core.exceptions import ValidationError
from pydantic import BaseModel
from pydantic import ValidationError as PydanticValidationError
class Criteria(BaseModel):
name: str
slug: str
max_value: int
min_value: int
class ContestTaskCriteriesValidator:
def __call__(self, instance):
if instance.criterties and not isinstance(instance.criterties, list):
err = "criteries must be a valid dictionary"
raise ValidationError(err)
try:
for criteria in instance.criterties:
Criteria(**criteria)
except PydanticValidationError:
err = "invalid criteries data"
raise ValidationError(err)