- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Labels
bug V1Bug related to Pydantic V1.XBug related to Pydantic V1.X
Milestone
Description
Checks
- I added a descriptive title to this issueI have searched (google, github) for similar issues and couldn't find anythingI have read and followed the docs and still think this is a bugTo pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())"
:
pydantic version: 1.7.3
pydantic compiled: True
install path: C:\Soft_Dev\LIVE_tls_application\back_end\.venv\Lib\site-packages\pydantic
python version: 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)]
platform: Windows-10-10.0.18362-SP0
optional deps. installed: ['typing-extensions']
Love Pydantic, great stuff, etc etc.
I came across a bug in the following code (which works fine in 1.7.3) - the iteratively parsing of the model leads to stack overflow.
from pydantic import BaseModel
from pydantic.generics import GenericModel
from enum import Enum
from typing import TypeVar, Generic
class SomeStringEnum(str, Enum):
A = "A"
B = "B"
T = TypeVar("T")
class SomeGenericModel(GenericModel, Generic[T]):
some_field: T
class MyModel(BaseModel):
some_field: SomeGenericModel[SomeStringEnum]
print(MyModel.parse_obj({"some_field": {"some_field": "A"}}))
Metadata
Metadata
Assignees
Labels
bug V1Bug related to Pydantic V1.XBug related to Pydantic V1.X
Activity
RecursionError
when using some types likeEnum
orLiteral
with generic models #2438orfeldman-deci commentedon Mar 1, 2021
Hi we have the same use case and the last version broke our code,
I think this is a very common use case, maybe consider releasing a hotfix to pip?
samuelcolvin commentedon Mar 1, 2021
We will release v1.8.1 in a day or two with a fix for this. You can help by checking all the PRs related to issues since v1.8.