From e2473c2153a95748c0f5f17742fb897ee30e8937 Mon Sep 17 00:00:00 2001 From: prowebking Date: Tue, 28 May 2024 23:32:08 +0530 Subject: [PATCH] Automatic Inclusion of @property Fields in ModelSerializer --- rest_framework/serializers.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index fd226f277..3efb71e06 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -1111,19 +1111,19 @@ class ModelSerializer(Serializer): # Create the serializer field. fields[field_name] = field_class(**field_kwargs) - property_fields = getattr(self.Meta, 'property_fields',None) + property_fields = getattr(self.Meta, 'property_fields', None) if property_fields: if property_fields == '__all__': for attr_name in dir(model): - attr = getattr(model,attr_name) - if isinstance(attr,property): + attr = getattr(model, attr_name) + if isinstance(attr, property): fields[attr_name] = ReadOnlyField() - elif isinstance(property_fields,list) or isinstance(property_fields,tuple): + elif isinstance(property_fields, list) or isinstance(property_fields, tuple): for attr_name in property_fields: - attr = getattr(model,attr_name,None) + attr = getattr(model, attr_name, None) if not attr: raise ValueError(f"{attr_name} this field doesn't exist in {model} model property") - if isinstance(attr,property): + if isinstance(attr, property): fields[attr_name] = ReadOnlyField() else: raise ValueError("Please select the appropriate value for property_fields in the serializer. Use __all__ to include all property fields, or provide a tuple or list to manually specify the property fields you want to include.")