From 1bde26a7be8d8488b1ad343fe064f4478b20495f Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 18 Nov 2021 22:48:22 +1100 Subject: [PATCH] Copy 'help_text' through from the model field if it is not defined for the serializer field --- InvenTree/InvenTree/metadata.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index 4294c943ba..46b3acfc21 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -118,20 +118,31 @@ class InvenTreeMetadata(SimpleMetadata): # Iterate through simple fields for name, field in model_fields.fields.items(): - if field.has_default() and name in serializer_info.keys(): + if name in serializer_info.keys(): - default = field.default + if field.has_default(): - if callable(default): - try: - default = default() - except: - continue + default = field.default - serializer_info[name]['default'] = default + if callable(default): + try: + default = default() + except: + continue - elif name in model_default_values: - serializer_info[name]['default'] = model_default_values[name] + serializer_info[name]['default'] = default + + elif name in model_default_values: + serializer_info[name]['default'] = model_default_values[name] + + # Attributes to copy from the model to the field (if they don't exist) + attributes = ['help_text'] + + for attr in attributes: + if attr not in serializer_info[name]: + + if hasattr(field, attr): + serializer_info[name][attr] = getattr(field, attr) # Iterate through relations for name, relation in model_fields.relations.items():