From: Michael Oliver Date: Fri, 4 Dec 2020 09:08:53 +0000 (+0000) Subject: Add Optional type modifier to fields with default value of None in dataclass example... X-Git-Tag: rel_1_4_0b2~119 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F5746%2Fhead;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add Optional type modifier to fields with default value of None in dataclass example. This keeps mypy/pep484 static type checkers happy --- diff --git a/doc/build/orm/mapping_styles.rst b/doc/build/orm/mapping_styles.rst index 8f281b8114..1cd742b545 100644 --- a/doc/build/orm/mapping_styles.rst +++ b/doc/build/orm/mapping_styles.rst @@ -230,6 +230,7 @@ An example of a mapping using ``@dataclass`` is as follows:: from dataclasses import dataclass from dataclasses import field from typing import List + from typing import Optional from sqlalchemy import Column from sqlalchemy import ForeignKey @@ -254,9 +255,9 @@ An example of a mapping using ``@dataclass`` is as follows:: Column("nickname", String(12)), ) id: int = field(init=False) - name: str = None - fullname: str = None - nickname: str = None + name: Optional[str] = None + fullname: Optional[str] = None + nickname: Optional[str] = None addresses: List[Address] = field(default_factory=list) __mapper_args__ = { @@ -277,7 +278,7 @@ An example of a mapping using ``@dataclass`` is as follows:: ) id: int = field(init=False) user_id: int = field(init=False) - email_address: str = None + email_address: Optional[str] = None In the above example, the ``User.id``, ``Address.id``, and ``Address.user_id`` attributes are defined as ``field(init=False)``. This means that parameters for