feat: serialize and save back_design in API

This commit is contained in:
Poker Design Developer
2026-06-03 22:13:13 +08:00
parent cea66988b8
commit 172c90be7f
2 changed files with 6 additions and 3 deletions

View File

@@ -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',

View File

@@ -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,