Skip to content

Commit 1ce2284

Browse files
authored
Fix raw field name serialization (#32)
1 parent 230f38f commit 1ce2284

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

cleancat/base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,7 @@ def external_clean(self, cls, raise_on_errors=True):
762762
def serialize(self):
763763
data = {}
764764
for field_name, field in self.fields.items():
765+
raw_field_name = field.raw_field_name or field_name
765766
value = self.data[field_name]
766-
data[field_name] = field.serialize(value)
767+
data[raw_field_name] = field.serialize(value)
767768
return data

tests/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,5 +685,18 @@ class TestSchema(Schema):
685685
}
686686

687687

688+
def test_raw_field_name():
689+
class TestSchema(Schema):
690+
value = String(raw_field_name='value_id')
691+
692+
schema = TestSchema(raw_data={'value_id': 'val_xyz'})
693+
694+
schema.full_clean()
695+
assert schema.data == {'value': 'val_xyz'}
696+
697+
serialized = schema.serialize()
698+
assert serialized == {'value_id': 'val_xyz'}
699+
700+
688701
if __name__ == '__main__':
689702
unittest.main()

0 commit comments

Comments
 (0)