Обучение Django — работа в Москве
Дата: 2024-07-08
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2024-07-08
Описание
Для себя Нужна помощь с дз: # Умный дом ## Техническая задача: реализовать некоторые действия из CRUD, используя Django Rest Framework. **CRUD** — аббревиатура для Create-Read-Update-Delete. Ей обозначают логику для операций создания-чтения-обновления-удаления сущностей. Подробнее: https://ru.wikipedia.org/wiki/CRUD. ## Описание У нас есть программируемые датчики, измеряющие температуру. Раз в некоторый интервал времени датчики делают запрос по API и записывают свои показания. В показания датчики передают свой ID и текущую температуру в градусах Цельсия. Необходимо реализовать REST API для добавления и изменения датчиков, их просмотра и добавления новых измерений температуры. Требуется задать две модели — они уже описаны в models.py: - датчик: - название, - описclание (необязательное, например, «спальня» или «корридор на 2 этаже»). - измерение температуры: - ID датчика, - температура при измерении, - дата и время измерения. Для сериализаторов используйте `ModelSerializer`. --- Запросы, которые должны быть реализованы в системе: 1. Создать датчик. Указываются название и описание датчика. 2. Изменить датчик. Указываются название и описание. 3. Добавить измерение. Указываются ID датчика и температура. 4. Получить список датчиков. Выдаётся список с краткой информацией по датчикам: ID, название и описание. ```json [ { “id“: 2, “name“: “ESP32“, “description“: “Датчик на кухне за холодильником“ }, { “id“: 1, “name“: “ESP32“, “description“: “Перенес датчик на балкон“ } ] ``` 5. Получить информацию по конкретному датчику. Выдаётся полная информация по датчику: ID, название, описание и список всех измерений с температурой и временем. ```json { “id“: 1, “name“: “ESP32“, “description“: “Перенес датчик на балкон“, “measurements“: [ { “temperature“: 22.3, “created_at“: “2021-10-23T16:44:51.432328Z“ }, { “temperature“: 22.5, “created_at“: “2021-10-23T16:45:51.091212Z“ } ] } ``` Примеры запросов можно посмотреть в файле [requests.http](./requests.http). ## Подсказки 1. Вам необходимо будет изменить файлы `models.py`, `serializers.py`, `views.py` и `urls.py`. В места, где нужно добавлять код, включены `TODO`-комментарии. После того, как вы добавите код, комментарии можно удалить. 2. Для автоматического проставления времени используйте аргументы: `auto_now` (при обновлении) и `auto_now_add` (при создании). Подробнее: https://docs.djangoproject.com/en/4.2/ref/models/fields/#django.db.models.DateField. 3. Для сериализатора с подробной информацией по датчику для отображения списка измерений необходимо использовать [вложенный сериализатор](https://www.django-rest-framework.org/api-guide/serializers/#dealing-with-nested-objects). Должен получиться примерно такой код: ```python class MeasurementSerializer(serializers.ModelSerializer): class Meta: model = Measurement fields = ['temperature', 'created_at'] class SensorDetailSerializer(serializers.ModelSerializer): measurements = MeasurementSerializer(read_only=True, many=True) class Meta: model = Sensor fields = ['id', 'name', 'description', 'measurements'] ``` ## Дополнительные задания ### Прикрепление картинки к измерению Датчики стали более продвинутыми и могут также прикреплять снимки. Добавьте nullable-поле к модели `Measurement` для сохранения изображений. https://www.django-rest-framework.org/api-guide/fields/#imagefield Обратите внимание, что поле должно быть опциональным — некоторые датчики прикладывают фото, а некоторые — нет. Для старых датчиков ничего не должно сломаться.
Похожие заказы
Обучение программированию
дистанционно
договорная
Язык программирования: Java, Python, C++, C, C#, JavaScript Для себя Здравствуйте, я хочу научиться программированию, ещё по какой не определился, но хочу для себя, но может потом и работать, опыт ноль, но в компьютерах понимаю
Москва
Репетиторы
2025-06-19
Обучение веб-программированию
дистанционно
от 500.00 руб.
Для работы Хочу выучить язык программирования php для себя и работы и создать проект.Спасибо
Казань
Репетиторы
2025-06-19
Обучение программированию
дистанционно
договорная
Язык программирования: Русский Для себя Познокомиться и научиться писать prompt
Москва
Репетиторы
2025-06-19
Обучение SQL
дистанционно
договорная
Для работы Узнать язык sql и умения общаться со связанными таблицами
Нижний Новгород
Репетиторы
2025-06-19
Обучение программированию
дистанционно
от 500.00 руб.
Для ребёнка Подготовка к программированию сына 4 класс
Москва
Репетиторы
2025-06-19
Обучение созданию нейросетей
дистанционно
договорная
Для себя Чат chatGPT
Москва
Репетиторы
2025-06-19
Обучение тестированию программного обеспечения
дистанционно
договорная
Для работы
Казань
Репетиторы
2025-06-19