Django + (django-model-utils): объединение двух моделей / наследование от двух моделей - PullRequest
0 голосов
/ 07 мая 2018

Я недавно узнал о наследовании моделей в Django. Я использовал его с большим успехом, используя потрясающий пакет django-model-utils . Я унаследовал от TimeStampedModel и от SoftDeletableModel. Моя проблема в том, что мне удалось выполнить наследование только при наследовании от одной модели.

Я бы хотел наследовать от обеих моделей одновременно. Есть ли способ унаследовать от двух моделей или объединить их? Как мне лучше всего это сделать?

PS: я пытался объединить их сам, поместив SoftDeletableQuerySetMixin перед TimeStampedModel в моей модели, которая наследует, но это сломало вещи. Также я увидел, что django-model-utils поставляется с отличными тестами из коробки, и когда мне удастся объединить их вручную, я думаю, что мне придется написать новые тесты для объединенной модели, не так ли? Есть ли умный способ объединить эти модели?

1 Ответ

0 голосов
/ 09 мая 2018

Вам не нужно делать ничего особенного, поскольку вы можете расширять обе модели, например:

class MyModel(TimeStampedModel, SoftDeletableModel):
    # You will automatically get created, modified, and is_removed
    ...
...