Две версии одного и того же приложения Django: 1 для администрирования, 1 только для запросов

У меня есть два приложения Django, которые совместно используют базу данных, а также ряд моделей. Приложение 1 используется для администрирования данных через страницу администратора. Приложение 2 используется только для запроса данных и представления данных. Приложения запущены на разных серверах.

Мое текущее решение состоит в том, чтобы запустить точно такой же код в models.py на обоих приложениях. Однако я не запускал makemigration/migrate на app2. Это решение работает, но меня беспокоит тот факт, что у меня один и тот же код в двух models.py, но только одна рабочая таблица в базе данных.

Как правильно поступить в данной ситуации?

Я думаю, что это то, что вы ищете: https://docs.djangoproject.com/en/4.1/ref/models/options/#managed

В приложении 2 вы добавите managed=False к вашим различным моделям, доступным только для чтения.


Что-то вроде:

class MyModel(models.Model):
    
    class Meta:
        managed = False
        # db_table = 'the_table_name' add this if necessary only
Вернуться на верх