This commit is contained in:
2024-05-14 16:58:27 +03:00
parent 2762ac794a
commit 7988103495
13 changed files with 403 additions and 356 deletions

View File

@@ -1,27 +1,31 @@
## Модель
1. **TimeStampedModel:**
- **created_at:** DateTimeField, автоматически устанавливает дату и время создания объекта.
- **updated_at:** DateTimeField, автоматически обновляется при каждом сохранении объекта.
- **author:** ForeignKey, связывает с моделью пользователя, который создал объект.
2. **MaintenanceHistory:**
- **object:** ForeignKey, связь с объектом, к которому относится история обслуживания.
- **start_time:** DateTimeField, дата начала обслуживания.
- **end_time:** DateTimeField, дата окончания обслуживания (может быть пустым).
- **maintenance_text:** TextField, текстовое описание обслуживания.
- **photo_history_maintenance:** ManyToManyField, связь с фотографиями отчета об обслуживании.
3. **TechnicalWorkHistory:**
- **object:** ForeignKey, связь с объектом, к которому относится история технических работ.
- **start_date:** DateField, дата начала технических работ.
- **end_date:** DateField, дата окончания технических работ.
- **description:** TextField, описание выполненных работ.
- **photo_history_technical_work:** ManyToManyField, связь с фотографиями отчета о технических работах.
4. **MeteringDevice:**
- **object:** ForeignKey, связь с объектом, к которому относится прибор учета.
- **start_time:** DateTimeField, дата начала обслуживания прибора учета.
- **end_time:** DateTimeField, дата окончания обслуживания прибора учета (может быть пустым).
- **maintenance_text:** TextField, текстовое описание обслуживания прибора учета.
- **[показания по различным видам учета]:** FloatField, поля для хранения показаний по различным видам учета.
- **photo_history_metering_device:** ManyToManyField, связь с фотографиями показаний прибора учета.
1. **MaintenanceHistory:**
- **`object`** (ForeignKey): Связь с объектом, к которому относится история обслуживания.
- **`start_time`** (DateTimeField): Дата начала обслуживания.
- **`end_time`** (DateTimeField): Дата окончания обслуживания (может быть пустым).
- **`maintenance_text`** (TextField): Текстовое описание обслуживания.
- **`photo_history_maintenance`** (ManyToManyField): Связь с фотографиями отчета об обслуживании.
2. **TechnicalWorkHistory:**
- **`object`** (ForeignKey): Связь с объектом, к которому относится история технических работ.
- **`start_date`** (DateField): Дата начала технических работ.
- **`end_date`** (DateField): Дата окончания технических работ.
- **`description`** (TextField): Описание выполненных работ.
- **`photo_history_technical_work`** (ManyToManyField): Связь с фотографиями отчета о технических работах.
3. **MeteringDevice:**
- **`object`** (ForeignKey): Связь с объектом, к которому относится история технических работ.
- **`start_time`** (DateTimeField): дата начала обслуживания прибора учета.
- **`end_time`** (DateTimeField): дата окончания обслуживания прибора учета (может быть пустым).
- **`maintenance_text`** (TextField): Текстовое описание проведенного обслуживания прибора учета. Здесь можно указать основные детали и результаты работ.
- **`electricity_reading`** (FloatField): Показание по электроэнергии, которое фиксируется при обслуживании прибора учета электроэнергии.
- **`water_reading`** (FloatField): Показание по воде, которое фиксируется при обслуживании прибора учета потребления воды.
- **`security_reading`** (FloatField): Показание по охране, которое фиксируется при обслуживании прибора учета системы безопасности.
- **`internet_reading`** (FloatField): Показание по интернету, которое фиксируется при обслуживании прибора учета интернет-трафика.
- **`gas_reading`** (FloatField): Показание по газу, которое фиксируется при обслуживании прибора учета газа.
- **`garbage_disposal_reading`** (FloatField): Показание по вывозу мусора, которое фиксируется при обслуживании прибора учета мусора.
- **`capital_repairs_reading`** (FloatField): Показание по капитальным ремонтам, которое фиксируется при обслуживании прибора учета капитальных ремонтов.
- **`photo_history_metering_device`** (ManyToManyField): Связь с фотографиями показаний прибора учета. Здесь можно хранить изображения или документацию о показаниях прибора учета.
## Сериализатор
## Маршрутизатор