каскадное удаление django на 2 внешних ключах одной и той же таблицы

#django #django-models #django-rest-framework

#джанго #джанго-модели #django-rest-фреймворк

Вопрос:

У меня есть модель A и модель B. Модель B имеет 2 внешних ключа для модели A, как показано на рисунке. Между моделью A и B существует соотношение 1 ко многим, так что набор данных (A) может содержать несколько элементов данных(B).

Модель A: идентификатор (первичный ключ) dataset_id dataset_version dataset_name

Модель B: идентификатор (первичный ключ) dataelement_id dataelement_version имя элемента данных fk_dataset_id fk_dataset_version

Мой вопрос: Как каскадно удалить строку из модели A таким образом, чтобы удаление происходило в модели B, используя fk_dataset_id и fk_dataset_version вместе ? В настоящее время django выполняет 2 отдельных запроса для удаления данных из модели B по столбцам fk_dataset_id и fk_dataset_version, но я хочу, чтобы в запросе на удаление использовалось условие И для удаления, например, для УДАЛЕНИЯ из модели B, где B. fk_dataset_id = 1 И B. fk_dataset_version = 3

Я использую фреймворк django rest с набором моделей для моделей A и B

Комментарии:

1. Я бы предложил использовать pre_delete сигнал джанго.