Обработка моделей CRUD с отношением DRF «один ко многим» - PullRequest
0 голосов
/ 12 апреля 2020

Я ценю вашу помощь

У меня есть 2 модели с реализацией одна ко многим, как эта

class Header(models.Model):
    title = models.CharField(max_length=35)

class Detail(models.Model):
    header = models.ForeignKey(Header, related_name='details', on_delete=models.PROTECT)
    description = models.CharField(max_length=35)

Я хотел бы знать, существует ли какой-либо пакет, который обрабатывает внутренне CRUD детали в заголовке CRUD, например:

Если я сделаю POST до app/header с этим JSON:

{
    "title": "title 1"
    "details":[
        {
            "description": "detail number 1"
        },
        {
            "description": "detail number 2"
        }
    ]
}

, приложение должно создать заголовок с id = 1 а затем 2 детали с ids = 1,2 в базе данных

Если я сделаю PUT до app/header/1 с этим JSON:

{
    "id": 1,
    "title": "title 1 updated"
    "details":[
        {
            "id": 1,
            "description": "detail number 1 with a change"
        },
        {
            "id": 2,
            "description": "detail number 2"
        }
    ]
}

, приложение должно обновить title заголовка и description детали с id=1

Затем, если я сделаю PUT до app/header/1 с этим JSON:

{
    "id": 1,
    "title": "title 1 updated"
    "details":[
        {
            "id": 2,
            "description": "detail number 2"
        }
    ]
}

приложение должно удалять только детали с id=1

И если я сделаю DELETE до app/header/1, приложение должно удалить заголовок с id = 1 и все его детали.

Я хочу знать, есть ли какой-нибудь пакет, который мне помогает или мне нужно реализовать все эти функции

Спасибо за вашу помощь

...