Code: Select all
from pydantic import BaseModel, Field
class Foo(BaseModel):
bar: str | list | int = Field('some string', ge=2)
Code: Select all
foo_instance = Foo(bar='asdf') # constraint should not be applied
foo_instance = Foo(bar=4) # constraint should be applied
< /code>
Der oben genannte Ausprobieren wirft einen Fehler aus:
TypeError: Unable to apply constraint 'ge' to supplied value asdf
Wie stelle ich sicher, dass Pydantic nur versucht, diese Einschränkung anzuwenden, wenn der Wert numerisch ist (oder wenn der Vorgang für diesen Wert ausgeführt werden kann)?