This repo contains example code for the issue pydantic#3764
- python
- pyenv
- pipenv
- make
pipenv install -d
make run_pydantic_
make run_pydantic_1.9.0 pipenv install pydantic==1.9.0 >/dev/null 2>&1 && pipenv run python main.py
Root type | Child type | method | output | returned expected output? |
---|---|---|---|---|
BaseModel | BaseModel | r.dict() | {'s': 'test', 'c': {'n': 2}} | Yes |
BaseModel | Pydantic dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
BaseModel | dataclass | r.dict() | {'s': 'test', 'c': _Pydantic__Child_94278668987376(n=2)} | No |
Pydantic dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
Pydantic dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
make run_pydantic_1.9.2 pipenv install pydantic==1.9.2 >/dev/null 2>&1 && pipenv run python main.py
Root type | Child type | method | output | returned expected output? |
---|---|---|---|---|
BaseModel | BaseModel | r.dict() | {'s': 'test', 'c': {'n': 2}} | Yes |
BaseModel | Pydantic dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
BaseModel | dataclass | r.dict() | {'s': 'test', 'c': _Pydantic__Child_94345520777104(n=2)} | No |
Pydantic dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
Pydantic dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
make run_pydantic_1.10.0 pipenv install pydantic==1.10.0 >/dev/null 2>&1 && pipenv run python main.py
Root type | Child type | method | output | returned expected output? |
---|---|---|---|---|
BaseModel | BaseModel | r.dict() | {'s': 'test', 'c': {'n': 2}} | Yes |
BaseModel | Pydantic dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
BaseModel | dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
Pydantic dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
make run_pydantic_1.10.4 pipenv install pydantic==1.10.0 >/dev/null 2>&1 && pipenv run python main.py
Root type | Child type | method | output | returned expected output? |
---|---|---|---|---|
BaseModel | BaseModel | r.dict() | {'s': 'test', 'c': {'n': 2}} | Yes |
BaseModel | Pydantic dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
BaseModel | dataclass | r.dict() | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
Pydantic dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
Pydantic dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | BaseModel | asdict(r) | {'s': 'test', 'c': _Child(n=2)} | No |
dataclass | Pydantic dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |
dataclass | dataclass | asdict(r) | {'s': 'test', 'c': {'n': 2}} | Yes |