假设我有一个serialize DeviceGroup
和一个用于将设备发布到组中的apieview类。在
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函数中,是否必须创建序列化程序的实例并检查序列化程序是否有效,然后返回响应。在
Device和DeviceGroup
之间的关系是一个设备只能在一个组上,而一个组可以有多个设备(设备id的列表)
如果我需要使用DeviceGroupSerializer
来发布设备列表,post函数应该是什么?我不明白这个序列化程序和查看部分清楚。在
Django-REST框架是松散耦合的,因此可以绕过序列化程序。在
但是,这可能需要一些工作,这取决于您正在做什么。注意,对于POST,您可以自己执行一些检查。在
关于Django REST框架性能优化的tomchristiespost演示了如何删除框架的某些部分。在
相关问题 更多 >
编程相关推荐