Fastapi: Schemas that reference each other

Created on 6 Nov 2020  路  9Comments  路  Source: tiangolo/fastapi

I'd like to use schemas that reference each other.
E.g. I have a user class that has n characters assigned, and I want to be able to also retrieve a list of all characters with their user information.

So the base schema would in theory look kind of like this:

class Character(BaseModel):
    id: int
    name: str
    user: User

class User(BaseModel):
    id: int
    username: str
    characters: List[Character] = []

But thats not actually possible because User is defined after Character.
Is there any way to solve this kind of problem in fastapi?

question

All 9 comments

Hi,
check this out

from pydantic import BaseModel
from typing import List




class Character(BaseModel):
    id: int
    name: str
    user: "User"


class User(BaseModel):
    id: int
    username: str
    characters: List[Character] = []


Character.update_forward_refs()



Since PEP 563 we are allowed to do something like this by updating forward references as @includeamin has shown, it is called Postponed annotations, for more information, you can check Pydantic's documentation about Postponed annotations.

This is really interesting, thanks for the explainations!

Today I tried actually using this method, but I get a recursion error.

I want Character to contain its User, but not the characters field of User.
Also I want User to contain the list of characters, but not the user field of Character.

Is this possible in fastapi?

Can you please post the error?

This is the error I get:

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 389, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\fastapi\applications.py", line 179, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\applications.py", line 111, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__
    raise exc from None
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\exceptions.py", line 82, in __call__
    raise exc from None
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\routing.py", line 566, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\routing.py", line 227, in handle
    await self.app(scope, receive, send)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\routing.py", line 41, in app
    response = await func(request)
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\fastapi\routing.py", line 190, in app
    response_data = await serialize_response(
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\fastapi\routing.py", line 103, in serialize_response
    value, errors_ = await run_in_threadpool(
  File "C:\Users\Maria\.virtualenvs\fm-api-7lOupK2b\lib\site-packages\starlette\concurrency.py", line 34, in run_in_threadpool
    return await loop.run_in_executor(None, func, *args)
  File "c:\users\maria\appdata\local\programs\python\python39\lib\concurrent\futures\thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 590, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 621, in pydantic.fields.ModelField._validate_sequence_like
  File "pydantic\fields.py", line 731, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 662, in pydantic.main.BaseModel.validate
  File "pydantic\main.py", line 566, in pydantic.main.BaseModel.from_orm
  File "pydantic\main.py", line 981, in pydantic.main.validate_model
  File "pydantic\fields.py", line 579, in pydantic.fields.ModelField.validate
  File "pydantic\fields.py", line 738, in pydantic.fields.ModelField._validate_singleton
  File "pydantic\fields.py", line 745, in pydantic.fields.ModelField._apply_validators
  File "pydantic\class_validators.py", line 310, in pydantic.class_validators._generic_validator_basic.lambda12
  File "pydantic\main.py", line 659, in pydantic.main.BaseModel.validate
  File "c:\users\maria\appdata\local\programs\python\python39\lib\abc.py", line 98, in __instancecheck__
    return _abc_instancecheck(cls, instance)
RecursionError: maximum recursion depth exceeded in comparison

Well when you make a user it has to create a field for a List of Characters, each of which contains a User, which contains a list of characters, each of which contains a User ... You're getting a recursion error because you're recurssing (sp?) indefinitely. I think you actually want each character to have a "UserID" which will be the same integer as the "id" field of the User.

class Character(BaseModel):
id: int
name: str
userID: int

class User(BaseModel):
id: int
username: str
characters: List[Character] = []

Here is the related issue on the pydantic repo: https://github.com/samuelcolvin/pydantic/issues/659

@windmite-Pi 's solution should help you otherwise

Thanks for the suggestions, they were helpful.
I'll close this ticket now.

Was this page helpful?
0 / 5 - 0 ratings