feat: serialize and save back_design in API
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user