Ошибка инициализации из json в PydanticPython

Программы на Python
Anonymous
Ошибка инициализации из json в Pydantic

Сообщение Anonymous »

Помощь в использовании pydantic в Python. мой код ->

Код: Выделить всё

from typing import Any, List, Optional, Literal
from pydantic import BaseModel
from pydantic_core import from_json

class Check1UnitValidator(BaseModel):
field_name: str
restricted_values: List[str]
action: Literal["Reject", "Underreview", "NA"]

class Check1Validator(BaseModel):
check1_units: Any #List[Check1UnitValidator]

with open('BRE/utils/check1.json', 'r') as f:
data = f.read()
check1 = Check1Validator(from_json(data))

print(check1)
Мой приведенный выше код выдает ошибку.
Ошибка:

check1 = Check1Validator(from_json(data))
TypeError: init() принимает 1 позиционный аргумент, но задано 2
файла json:

Код: Выделить всё

{
"check1_units": [
{
"field_name": "pincode",
"restricted_values": [
"123456",
"456789"
],
"action": "Reject"
}
]
}
Как мне решить эту проблему?
Я не знаю, что делаю неправильно? почему init принимает 2 аргумента?
Я просто передаю только 1 аргумент, я не могу уловить, что не так. Он должен работать нормально, моя версия Python — 3.8.12, а версия pydantic — 2.7.
Я пробовал без использования файла json и с использованием dict, он работает, но что в этом плохого?

Подробнее здесь: https://stackoverflow.com/questions/784 ... n-pydantic

Вернуться в «Python»