【发布时间】:2020-08-14 18:29:50
【问题描述】:
from typing import Optional
@dataclass
class Event:
id: str
created_at: datetime
updated_at: Optional[datetime]
#updated_at: datetime = field(default_factory=datetime.now) CASE 1
#updated_at: Optional[datetime] = None CASE 2
@dataclass
class NamedEvent(Event):
name: str
创建事件实例时,我通常不会有updated_at 字段。我可以将current time 作为默认值传递,也可以在插入数据库时为其添加一个值,并在对象的后续使用中获取它。哪个是更好的方法?
根据我的理解,我无法在不传递 case1 和 case2 中的 updated_at 字段的情况下创建 NamedEvent 实例,因为我在 name 字段中没有默认值。
【问题讨论】:
标签: python python-3.x python-dataclasses