view裏的一些方法

@csrf_exempt
def device_data(request):
    objects = DeviceManager.get_devices()

    def decoder(device_data):
        """
        :type device_data:Device  # 指定類型
        :param device_data:
        :return:
        """
        info = {'id': device_data.id,
                'name': device_data.name,
                'id_code': device_data.id_code,
                'user': device_data.users.first().username if device_data.users.count() else None,
                'desc': device_data.desc,
                'created_at': device_data.created_at.strftime('%Y-%m-%d %H:%M:%S'),
                }

        if device_data.state == 1:
            info['state'] = DeviceState.available
        if device_data.state == 2:
            info['state'] = DeviceState.disable
        if device_data.state == 3:
            info['state'] = DeviceState.using

        return info

    return page_to_response(request, queryset=objects, decoder=decoder)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章