Я использую pydantic с fastapi. И я делаю Модель вот так.
# model.py
from multiprocessing import RLock
from pydantic import BaseModel
class ModelA(BaseModel):
file_1: str = 'test'
def __init__(self, **data: Any):
super().__init__(**data)
self._lock = RLock()
self._instance_variable: int = 1
@property
def lock(self):
return self._lock
@property
def instance_variable(self) -> int:
with self.lock:
return self._instance_variable
@instance_variable.setter
def instance_variable(self, v: int) -> int:
assert isinstance(v, int)
with self.lock:
self._instance_variable = v
И я провожу такой тест
# test_model_a.py
def test_model_a():
instance = ModelA()
assert instance.json() == '{"field_1": "test"}'
После этого я запускаю тест, но экземпляр не может создать с этой ошибкой.
E ValueError: "ModelA" object has no field "_lock"
Итак, как я могу пройти этот тест ...? Помогите, пожалуйста...