def test(self): measurement = Measurement(datetime=datetime.datetime(2015, 1, 1, 15, 11, 17), sensor_id='0a45', type='temperature', value=11.1) expected_measurement_dict = { 'datetime': '2015-01-01T15:11:17', 'sensor_id': '0a45', 'type': 'temperature', 'value': 11.1 } measurement_dict = Measurement.to_dict(measurement) self.assertEqual(measurement_dict, expected_measurement_dict) measurement2 = Measurement(datetime=datetime.datetime(2015, 1, 1, 16, 11, 17), sensor_id='0a45', type='temperature', value=15.1) expected_measurement2_dict = { 'datetime': '2015-01-01T16:11:17', 'sensor_id': '0a45', 'type': 'temperature', 'value': 15.1 } measurements = [measurement, measurement2] measurements_list = Measurement.to_dict(measurements) self.assertEqual(measurements_list, [expected_measurement_dict, expected_measurement2_dict])
def api(request): response = {'status': 200, 'content': None, 'errors': []} try: query = build_query(request.GET) measurements = Measurement.objects.filter(*query.args, **query.kwargs).order_by('datetime') measurements = Measurement.to_dict(measurements) response['content'] = measurements except Exception as e: response['status'] = 300 if hasattr(e, 'errors'): response['errors'].extend(e.errors) else: response['errors'].append(str(e)) return JsonResponse(response)
def api(request): response = {'status': 200, 'content': None, 'errors': []} try: query = build_query(request.GET) measurements = Measurement.objects.filter( *query.args, **query.kwargs).order_by('datetime') measurements = Measurement.to_dict(measurements) response['content'] = measurements except Exception as e: response['status'] = 300 if hasattr(e, 'errors'): response['errors'].extend(e.errors) else: response['errors'].append(str(e)) return JsonResponse(response)