Skip to content

Commit 86919ca

Browse files
committed
set default extra field values on initialisation
1 parent 684af2a commit 86919ca

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

userdefinedfields/fields.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,19 @@
1111

1212
class ExtraFieldsJSONField(JSONField):
1313
def __init__(self, *args, **kwargs):
14-
kwargs["default"] = dict
14+
kwargs["default"] = self.get_default
1515
kwargs["blank"] = True
1616
super().__init__(*args, **kwargs)
1717

18+
def get_default(self):
19+
ct = ContentType.objects.get_for_model(self.model)
20+
relevant_fields = dict(
21+
ExtraField.objects.filter(content_type=ct, default__isnull=False)
22+
.exclude(default="")
23+
.values_list("name", "default")
24+
)
25+
return relevant_fields
26+
1827
def _get_EXTRAFIELD_fieldlist(self, obj, field, use_cache=False):
1928

2029
# grab the relevant extrafields for this content type

0 commit comments

Comments
 (0)