小编Ken*_*tin的帖子

dataclasses.asdict() 没有按预期工作

我正在使用dataclassand asdictfrom dataclasses,我发现这asdict在我引入继承时并不像我期望的那样工作。

dataclasses用来帮助我从类创建字典,以便我可以将它们传递到django.shortcuts.render.

from dataclasses import dataclass
from dataclasses import asdict

@dataclass
class Base:
    name: str

class Test(Base):
    def __init__(self, age, *args, **kwargs):
        self.age = age
        super(Test, self).__init__(*args, **kwargs)

test = Test(age=20, name="john doe")

print(asdict(test))
Run Code Online (Sandbox Code Playgroud)

我希望输出是

{"age": 20, "name": "john doe"}
Run Code Online (Sandbox Code Playgroud)

但我得到的只是来自基类的关键字值

{"name": "john doe"}
Run Code Online (Sandbox Code Playgroud)

python inheritance python-3.7 python-dataclasses

4
推荐指数
1
解决办法
3009
查看次数