Как правильно преобразовать внутренние данные из Django во внешние модели в Angular
Я начинающий, работаю над Angular frontend с Django backend. Я постарался сформулировать свой вопрос как можно точнее. Пожалуйста, не ставьте минусы; если что-то непонятно, не стесняйтесь попросить разъяснений, и я с радостью предоставлю больше деталей.
У меня есть три модели: Задача, Подзадача и Пользователь.
- У задачи может быть несколько подзадач.
- Подзадача принадлежит только одной задаче.
- Задача может обрабатываться несколькими пользователями.
Я получаю данные задач, подзадач и пользователей из бэкенда.
А Подзадача может быть создана только после создания соответствующей Задачи, поскольку Подзадача всегда должна иметь taskId.
Вот наиболее важные модели данных:
Backend:
// Users
{
"id": 1,
"email": "bob@bob.com",
"name": "bob"
}
// Tasks
{
"id": 1,
"title": "Task 1",
"description": "Task 1",
"due_to": "2024-06-26T13:18:08Z",
"created": "2024-06-26T13:18:36.238944Z",
"updated": "2024-06-26T13:18:36.239951Z",
"priority": "LOW",
"category": "TECHNICAL_TASK",
"status": "TO_DO",
"subtasks": [1],
"users": [1]
}
// Subtasks
{
"id": 1,
"task_id": 1,
"description": "Subtask 1",
"is_done": false
}
Фронтенд: Во фронтенде у меня есть структура данных Task, которая включает в себя подзадачи и пользователей.
export interface Task {
id: number,
title: string,
description: string,
dueTo: Date,
created: Date,
updated: Date,
priority: Priority,
category: Category,
subtasks: Subtask[],
users: User[],
status: TaskStatus
}
Мои вопросы:
- Как получить полный объект подзадачи из бэкенда, используя только идентификатор подзадачи?
- Я мог бы написать функцию getSubtaskById, но будет ли это неэффективно с точки зрения времени выполнения?
- Как преобразовать данные бэкенда в модель данных фронтенда?
Буду благодарен за любые советы о том, как правильно это сделать, или предложения о том, что сделать по-другому. Спасибо за любые советы!