diff --git a/backend/apps/projects/serializers.py b/backend/apps/projects/serializers.py index 6fd846c..dcfd905 100644 --- a/backend/apps/projects/serializers.py +++ b/backend/apps/projects/serializers.py @@ -9,7 +9,7 @@ class ProjectSerializer(serializers.ModelSerializer): fields = [ 'id', 'name', 'template_id', 'card_width', 'card_height', - 'design', 'card_overrides', 'number_layout', 'face_orientations', + 'design', 'back_design', 'card_overrides', 'number_layout', 'face_orientations', 'export_resolution', 'export_include_back', 'created_at', 'updated_at', ] @@ -47,7 +47,7 @@ class ProjectDetailSerializer(serializers.ModelSerializer): fields = [ 'id', 'name', 'template_id', 'card_width', 'card_height', - 'design', 'card_overrides', 'number_layout', 'face_orientations', + 'design', 'back_design', 'card_overrides', 'number_layout', 'face_orientations', 'export_resolution', 'export_include_back', 'assets', 'layers', 'created_at', 'updated_at', diff --git a/backend/apps/projects/views.py b/backend/apps/projects/views.py index 006e811..a337f2d 100644 --- a/backend/apps/projects/views.py +++ b/backend/apps/projects/views.py @@ -26,6 +26,8 @@ def project_list(request): data['card_overrides'] = Project._meta.get_field('card_overrides').default() if 'number_layout' not in data: data['number_layout'] = Project._meta.get_field('number_layout').default() + if 'back_design' not in data: + data['back_design'] = Project._meta.get_field('back_design').default() # 抽出 template_id(不写进 Project 字段) template_id = data.pop('template_id', None) serializer = ProjectSerializer(data=data) @@ -82,13 +84,14 @@ def project_save_design(request, pk): except Project.DoesNotExist: return Response({'error': 'Project not found'}, status=status.HTTP_404_NOT_FOUND) - for field in ('design', 'card_overrides', 'number_layout', 'face_orientations'): + for field in ('design', 'back_design', 'card_overrides', 'number_layout', 'face_orientations'): if field in request.data: setattr(project, field, request.data[field]) project.save() return Response({ 'ok': True, 'design': project.design, + 'back_design': project.back_design, 'card_overrides': project.card_overrides, 'number_layout': project.number_layout, 'face_orientations': project.face_orientations,