Merge pull request #2028 from paperless-ngx/feature-truncate-content

Feature: speed up frontend by truncating content
This commit is contained in:
shamoon
2022-12-09 09:20:06 -08:00
committed by GitHub
13 changed files with 37 additions and 37 deletions

View File

@@ -234,6 +234,12 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
else:
return None
def to_representation(self, instance):
doc = super().to_representation(instance)
if self.truncate_content:
doc["content"] = doc.get("content")[0:550]
return doc
def update(self, instance, validated_data):
if "created_date" in validated_data and "created" not in validated_data:
new_datetime = datetime.datetime.combine(
@@ -247,6 +253,11 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
super().update(instance, validated_data)
return instance
def __init__(self, *args, **kwargs):
self.truncate_content = kwargs.pop("truncate_content", False)
super().__init__(*args, **kwargs)
class Meta:
model = Document
depth = 1

View File

@@ -226,9 +226,11 @@ class DocumentViewSet(
fields = fields_param.split(",")
else:
fields = None
truncate_content = self.request.query_params.get("truncate_content", "False")
serializer_class = self.get_serializer_class()
kwargs.setdefault("context", self.get_serializer_context())
kwargs.setdefault("fields", fields)
kwargs.setdefault("truncate_content", truncate_content.lower() in ["true", "1"])
return serializer_class(*args, **kwargs)
def update(self, request, *args, **kwargs):