Имитация наследования 1 таблицы в Django - PullRequest
0 голосов
/ 23 сентября 2019

Учитывая, что у меня есть 3 приложения в проекте Django (скажем, «HR», «Fleet» и «HR-Fleet»).И «HR», и «Fleet» являются автономными приложениями, которые можно использовать самостоятельно (я имею в виду только одно или другое, или оба, но они не общаются друг с другом).Идея состоит в том, чтобы создать «мост-модуль» (здесь «HR-Fleet»), который расширяет «HR» и «Fleet» и зависит от них обоих.

Идея состоит в том, чтобы добавить некоторые дополнительные функциив этом мостовом модуле.Если у вас есть класс «Сотрудник» в «HR» и класс «Автомобиль» в «Флоте», в модуле моста «HR-Fleet» я бы расширил класс «Сотрудник» с помощью внешнего ключа для модели «Автомобиль»..

Дело в том, что я хочу, чтобы все поля "Сотрудник" были в одной таблице базы данных.

Это хорошая практика?

ВПриложение "HR":

class Employee(models.Model):

    class Meta:
        db_table = 'employee'

    name = models.....
    firstname = models.....
    ....

В приложении "Fleet":

class Car(models.Model):

    class Meta:
        db_table = 'car'

    brand = models......
    model = models......
    ....

В приложении "HR-Fleet":

class Employee(models.Model)

    class Meta:
        db_table = 'employee'

    company_car = models.ForeignKey(....)
    ....

Это приведет красширение модели «Сотрудник» ТОЛЬКО в случае установки модуля «HR-Fleet».

Будет ли он работать?Не нарушит ли это рабочий процесс Django?

Заранее благодарен за вашу помощь.

Не стесняйтесь сказать, если цель, которую я хочу достичь, не ясна, я уточню в этом случае.

lbris.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...