Python 在DRF中将实例传递给序列化程序是否是强制性的?
假设我有一个serializePython 在DRF中将实例传递给序列化程序是否是强制性的?,python,django,django-rest-framework,Python,Django,Django Rest Framework,假设我有一个serializeDeviceGroup和一个APIView类,用于将设备发布到组中 DeviceGroup的序列化程序是 class DeviceGroupSerializer(serializers.ModelSerializer): id = serializers.UUIDField(source='token', format='hex', read_only=True) class Meta: model = DeviceGroup
DeviceGroup
和一个APIView类,用于将设备发布到组中
DeviceGroup
的序列化程序是
class DeviceGroupSerializer(serializers.ModelSerializer):
id = serializers.UUIDField(source='token', format='hex', read_only=True)
class Meta:
model = DeviceGroup
fields = ['id','name']
class DevicesGroupsAPIView(APIView):
permission_classes = (permissions.IsAuthenticated,)
def post(self, request, token=None, format=None):
print('reqquest', request.data)
print('token', token)
device_group_instance = DeviceGroup.objects.get(token=token)
for device_token in request.data['devices']:
device = Device.objects.get(token=device_token, owner=request.user)
device.group = device_group_instance
device.save()
在上面的post函数中,必须创建序列化程序实例并检查序列化程序是否有效,然后返回响应
设备和DeviceGroup
之间的关系是一个设备只能在一个组上,一个组可以有多个设备(设备ID列表)
如果我需要使用
DeviceGroupSerializer
发布设备列表,post函数应该是什么?我不清楚这个序列化程序和视图部分 Django REST框架是松散耦合的,所以您可以绕过序列化程序
但是,根据您正在做的工作,这可能需要一些工作。请注意,对于POST,您可以自己执行一些检查
Django REST框架性能优化的Tom Christies演示了如何删除框架的部分。Django REST框架是松散耦合的,因此可以绕过序列化程序 但是,根据您正在做的工作,这可能需要一些工作。请注意,对于POST,您可以自己执行一些检查
Django REST framework性能优化上的Tom Christies演示了如何删除框架的部分。请给我一个关于我还必须做什么的粗略代码,好吗?这是不可能的,因为它太依赖于您要做的事情。此外,该链接确实为您提供了足够的信息来实现这一点。请您给我一个关于我还必须做什么的粗略代码,好吗?这是不可能的,因为这太取决于您正在尝试做什么。此外,链接确实为您提供了足够的信息来实现这一点。