我试图在 Swagger 的示例部分中显示主键,我使用的是drf-spectacular,我的代码如下所示:
序列化器.py
class SerializerExample(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id','name')
视图.py
class BooksBulkUpdate(APIView):
@extend_schema(
request=SerializerExample(many=True),
responses={200:''},
)
def put(self, request, format=None):
with transaction.atomic():
for data in request.data:
book = Book.objects.get(pk=data['id'])
serializer = SerializerExample(book, data=data, partial=True)
if serializer.is_valid():
serializer.save()
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
return Response()
仅显示名称字段:
我发现的唯一解决方案是使用内联序列化程序,这不是理想的解决方案,因为如果我更新我的书序列化程序,我必须记住也要更新这个内联序列化程序。我想知道是否有更好的方法来做到这一点。