From 7fabb184a073b100bcecfff8ce8f136d83697202 Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Sun, 20 Oct 2024 23:19:14 +0300 Subject: [PATCH] feat: combine default and default_from --- ckanext/transmute/logic/action/get.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ckanext/transmute/logic/action/get.py b/ckanext/transmute/logic/action/get.py index e312eba..be1988d 100644 --- a/ckanext/transmute/logic/action/get.py +++ b/ckanext/transmute/logic/action/get.py @@ -90,15 +90,16 @@ def mutate_fields(data: dict[str, Any], definition: SchemaParser, root: str): value = data.get(field_name) - if field.default is not SENTINEL and not value: - data[field.name] = value = field.default - if field.default_from and not value: data[field.name] = value = _default_from(data, field) if field.replace_from: data[field.name] = value = _replace_from(data, field) + # set static default **after** attempt to get default from the other field + if field.default is not SENTINEL and not value: + data[field.name] = value = field.default + if field.value is not SENTINEL: if field.update: if not isinstance(data[field.name], type(field.value)):