提问人:PepeLoperena 提问时间:11/8/2023 最后编辑:PepeLoperena 更新时间:11/8/2023 访问量:41
Pydantic:在另一个数据类中有一个数据类时出现验证错误
Pydantic: Validation error when having a dataclass inside another dataclass
问:
我正在尝试解决以下问题:
我在另一个数据类中有一个数据类:
@dataclass(frozen=True)
class Location:
longitude: float
latitude: float
位置也添加到以下数据类中:
@dataclass(frozen=True)
class Address:
original_address: str
accuracy: Accuracy
**location: Location**
在另一个类上创建对象地址的实例时(在本例中,我是在测试用例文件上执行此操作),此时会出现警告:Unexpected Argument
这是设置的样子:
address = Address(
original_address="text",
accuracy=Accuracy.ROOFTOP,
location=Location(latitude=90.0, longitude=180.0)
)
运行以下测试时:
def test_when_location_is_not_in_range_then_print_exception(self):
invalid_location = Location(latitude=200.0, longitude=300.0)
with self.assertRaises(ValueError) as context:
address = Address(
original_address="test",
accuracy=Accuracy.ROOFTOP,
location=invalid_location,
)
self.assertEqual(
str(context.exception), "Location is out of range", "Expected exception message: 'Location is out of range'"
)
我遇到以下错误:
Input should be a dictionary or an instance of Location [type=dataclass_type, input_value=Location(longitude=180.0, latitude=90.0), input_type=Location]
我已经围绕这个问题做了几次测试,但我仍然不知道如何解决它。其中一个测试是通过在同一文件中执行对象的实例来完成的,如果在那里完成,一切似乎都可以正常工作。只有当我在不同的文件上执行实例时,才会出现顶部所述的错误。
如果您想看到之前完成的调查,请点击此链接
答: 暂无答案
评论