This commit is contained in:
alorig
2025-11-24 12:55:24 +05:00
parent 2c4cf6a0f5
commit ef735eb70b
6 changed files with 1729 additions and 329 deletions

View File

@@ -117,7 +117,7 @@ class KeywordSerializer(serializers.ModelSerializer):
class ClusterSerializer(serializers.ModelSerializer):
"""Serializer for Clusters model"""
"""Serializer for Clusters model - pure topic clusters"""
sector_name = serializers.SerializerMethodField()
site_id = serializers.IntegerField(write_only=True, required=False)
sector_id = serializers.IntegerField(write_only=True, required=False)
@@ -141,14 +141,6 @@ class ClusterSerializer(serializers.ModelSerializer):
]
read_only_fields = ['id', 'created_at', 'updated_at', 'account_id', 'keywords_count', 'volume', 'mapped_pages']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Only include Stage 1 fields when feature flag is enabled
if getattr(settings, 'USE_SITE_BUILDER_REFACTOR', False):
self.fields['context_type'] = serializers.CharField(read_only=True)
self.fields['context_type_display'] = serializers.SerializerMethodField()
self.fields['dimension_meta'] = serializers.JSONField(read_only=True)
def get_sector_name(self, obj):
"""Get sector name from Sector model"""
if obj.sector_id:
@@ -159,12 +151,6 @@ class ClusterSerializer(serializers.ModelSerializer):
except Sector.DoesNotExist:
return None
return None
def get_context_type_display(self, obj):
"""Get context type display name (only when feature flag enabled)"""
if hasattr(obj, 'get_context_type_display'):
return obj.get_context_type_display()
return None
def validate_name(self, value):
"""Ensure cluster name is unique within account"""