feat: serialize and save back_design in API
This commit is contained in:
@@ -9,7 +9,7 @@ class ProjectSerializer(serializers.ModelSerializer):
|
|||||||
fields = [
|
fields = [
|
||||||
'id', 'name', 'template_id',
|
'id', 'name', 'template_id',
|
||||||
'card_width', 'card_height',
|
'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',
|
'export_resolution', 'export_include_back',
|
||||||
'created_at', 'updated_at',
|
'created_at', 'updated_at',
|
||||||
]
|
]
|
||||||
@@ -47,7 +47,7 @@ class ProjectDetailSerializer(serializers.ModelSerializer):
|
|||||||
fields = [
|
fields = [
|
||||||
'id', 'name', 'template_id',
|
'id', 'name', 'template_id',
|
||||||
'card_width', 'card_height',
|
'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',
|
'export_resolution', 'export_include_back',
|
||||||
'assets', 'layers',
|
'assets', 'layers',
|
||||||
'created_at', 'updated_at',
|
'created_at', 'updated_at',
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ def project_list(request):
|
|||||||
data['card_overrides'] = Project._meta.get_field('card_overrides').default()
|
data['card_overrides'] = Project._meta.get_field('card_overrides').default()
|
||||||
if 'number_layout' not in data:
|
if 'number_layout' not in data:
|
||||||
data['number_layout'] = Project._meta.get_field('number_layout').default()
|
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(不写进 Project 字段)
|
||||||
template_id = data.pop('template_id', None)
|
template_id = data.pop('template_id', None)
|
||||||
serializer = ProjectSerializer(data=data)
|
serializer = ProjectSerializer(data=data)
|
||||||
@@ -82,13 +84,14 @@ def project_save_design(request, pk):
|
|||||||
except Project.DoesNotExist:
|
except Project.DoesNotExist:
|
||||||
return Response({'error': 'Project not found'}, status=status.HTTP_404_NOT_FOUND)
|
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:
|
if field in request.data:
|
||||||
setattr(project, field, request.data[field])
|
setattr(project, field, request.data[field])
|
||||||
project.save()
|
project.save()
|
||||||
return Response({
|
return Response({
|
||||||
'ok': True,
|
'ok': True,
|
||||||
'design': project.design,
|
'design': project.design,
|
||||||
|
'back_design': project.back_design,
|
||||||
'card_overrides': project.card_overrides,
|
'card_overrides': project.card_overrides,
|
||||||
'number_layout': project.number_layout,
|
'number_layout': project.number_layout,
|
||||||
'face_orientations': project.face_orientations,
|
'face_orientations': project.face_orientations,
|
||||||
|
|||||||
Reference in New Issue
Block a user