feat: 城市手册后端完成 - 用户/区域/内容/服务/审核系统
This commit is contained in:
34
city-manual/backend/services/serializers.py
Normal file
34
city-manual/backend/services/serializers.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from rest_framework import serializers
|
||||
from .models import FeaturedService
|
||||
from users.serializers import UserSerializer
|
||||
from regions.serializers import RegionSerializer
|
||||
|
||||
|
||||
class FeaturedServiceSerializer(serializers.ModelSerializer):
|
||||
submitter = UserSerializer(read_only=True)
|
||||
region = RegionSerializer(read_only=True)
|
||||
region_id = serializers.PrimaryKeyRelatedField(
|
||||
queryset='regions.Region.objects.all()',
|
||||
source='region',
|
||||
write_only=True,
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = FeaturedService
|
||||
fields = [
|
||||
'id', 'name', 'description', 'region', 'region_id', 'category',
|
||||
'address', 'contact', 'website', 'price_range', 'opening_hours',
|
||||
'submitter', 'moderator_status', 'ai_status', 'publish_status',
|
||||
'view_count', 'rating_average', 'rating_count',
|
||||
'created_at', 'updated_at'
|
||||
]
|
||||
read_only_fields = [
|
||||
'submitter', 'moderator_status', 'ai_status', 'publish_status',
|
||||
'view_count', 'rating_average', 'rating_count', 'created_at', 'updated_at'
|
||||
]
|
||||
|
||||
def create(self, validated_data):
|
||||
service = super().create(validated_data)
|
||||
service.submit_for_moderator_review()
|
||||
return service
|
||||
Reference in New Issue
Block a user