Skip to content

Commit 1c4d79e

Browse files
ale-rtdavisagli
andauthored
Fix list used a default argument (#1923)
* Fix `list` used a default argument Fixes #1922 * Update news/1922.bugfix.md --------- Co-authored-by: David Glick <[email protected]>
1 parent 0c09f37 commit 1c4d79e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

news/1922.bugfix.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
In the `RelationListFieldSerializer`, fix `list` used a default argument. @ale-rt

src/plone/restapi/serializer/relationfield.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class RelationChoiceFieldSerializer(DefaultFieldSerializer):
3333
@adapter(IRelationList, IDexterityContent, Interface)
3434
@implementer(IFieldSerializer)
3535
class RelationListFieldSerializer(DefaultFieldSerializer):
36-
def get_value(self, default=[]):
36+
def get_value(self, default=None):
3737
"""Return field value reduced to list of non-broken Relationvalues.
3838
3939
Args:
@@ -43,6 +43,8 @@ def get_value(self, default=[]):
4343
list: List of RelationValues
4444
"""
4545
value = super().get_value()
46-
if not value:
46+
if value:
47+
return [el for el in value if el.to_id]
48+
if default is None:
4749
return []
48-
return [el for el in value if el.to_id]
50+
return default

0 commit comments

Comments
 (0)