Enhance Content Management: Add sector name to ContentSerializer, improve Content view with pagination and search filters, and refactor Content page for better data handling and display.
This commit is contained in:
@@ -144,6 +144,7 @@ class ImagesSerializer(serializers.ModelSerializer):
|
||||
class ContentSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for Content model"""
|
||||
task_title = serializers.SerializerMethodField()
|
||||
sector_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Content
|
||||
@@ -151,6 +152,7 @@ class ContentSerializer(serializers.ModelSerializer):
|
||||
'id',
|
||||
'task_id',
|
||||
'task_title',
|
||||
'sector_name',
|
||||
'html_content',
|
||||
'word_count',
|
||||
'metadata',
|
||||
@@ -177,4 +179,15 @@ class ContentSerializer(serializers.ModelSerializer):
|
||||
except Tasks.DoesNotExist:
|
||||
return None
|
||||
return None
|
||||
|
||||
def get_sector_name(self, obj):
|
||||
"""Get sector name from Sector model"""
|
||||
if obj.sector_id:
|
||||
try:
|
||||
from igny8_core.auth.models import Sector
|
||||
sector = Sector.objects.get(id=obj.sector_id)
|
||||
return sector.name
|
||||
except Sector.DoesNotExist:
|
||||
return None
|
||||
return None
|
||||
|
||||
|
||||
@@ -440,11 +440,13 @@ class ContentViewSet(SiteSectorModelViewSet):
|
||||
"""
|
||||
queryset = Content.objects.all()
|
||||
serializer_class = ContentSerializer
|
||||
pagination_class = CustomPageNumberPagination
|
||||
|
||||
filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
|
||||
ordering_fields = ['generated_at', 'updated_at']
|
||||
filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter]
|
||||
search_fields = ['title', 'meta_title', 'primary_keyword']
|
||||
ordering_fields = ['generated_at', 'updated_at', 'word_count', 'status']
|
||||
ordering = ['-generated_at']
|
||||
filterset_fields = ['task_id']
|
||||
filterset_fields = ['task_id', 'status']
|
||||
|
||||
def perform_create(self, serializer):
|
||||
"""Override to automatically set account"""
|
||||
|
||||
Reference in New Issue
Block a user