Skip to content

Commit 334f400

Browse files
author
Henry Walshaw
committed
Don't forget the serialization alias!
1 parent 21316e7 commit 334f400

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

pydantic_csv/basemodel_csv_writer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ def __init__(
5353
self._use_alias = use_alias
5454

5555
if self._use_alias:
56-
self._fieldnames = [field.alias or name for name, field in fields.items()]
56+
self._fieldnames = [
57+
field.alias or getattr(field, "serialization_alias", None) or name for name, field in fields.items()
58+
]
5759
else:
5860
self._fieldnames = fields.keys()
5961

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "pydantic-csv"
3-
version = "0.1.1"
3+
version = "0.1.2"
44
description = "convert CSV to pydantic.BaseModel and vice versa"
55
authors = ["Nathan Richard <contact@nathanrichard.dev>"]
66
license = "LICENSE"

tests/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def parse_end_date(cls, value):
5656
class ExcludedPassword(pydantic.BaseModel):
5757
username: str = "Wagstaff"
5858
password: str = Field(default="swordfish", exclude=True)
59+
email: str = Field(default="wagstaff@marx.bros", serialization_alias="contact")
5960

6061

6162
class ComputedPropertyField(pydantic.BaseModel):

tests/test_basemodel_csv_writer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def test_excluded_field():
6666
w = BasemodelCSVWriter(output, [user], ExcludedPassword)
6767
w.write()
6868

69-
assert output.getvalue() == "username\r\nWagstaff\r\n"
69+
assert output.getvalue() == "username,contact\r\nWagstaff,wagstaff@marx.bros\r\n"
7070

7171

7272
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)