Два проекта используют одну и ту же базу данных Postgres, а проект на Django

У меня есть два проекта, которые используют одну и ту же базу данных Postgresql. Один из этих проектов написан на Golange, а другой на Django. У меня есть задача в проекте Django, взять данные из таблицы, которая создана в другом проекте. Точнее мне нужно взять данные из таблицы Clients, которая не создана в Django. В проекте Django нет никакой информации о таблице Clients.

Ниже показано, как я беру дату из таблицы Cook, которая создана в проекте Django.

enter image description here

Как я могу взять дату из таблицы Clients таким же образом, как описано выше?

Ниже представлены оба репозитория проекта и несколько скриншотов из базы данных.

https://github.com/NarminSH/Go-Client.git

https://github.com/NarminSH/Lezzetly

enter image description here

enter image description here

Заранее спасибо.

У вас есть несколько вариантов:

  • Используйте необработанные SQL-запросы в Django, чтобы просто SELECT получить данные из этой таблицы
  • .
  • Используйте inspectdb, чтобы Django создал модель для таблицы clients. Для модели Meta.managed будет установлено значение False, поэтому Django не будет ее трогать (например, выполнять миграции). Затем вы можете использовать для нее обычные операции Django ORM.
  • Вручную напишите модель, установив db_table = "clients" и managed = False на классе Meta. Затем вы можете использовать для нее обычные операции Django ORM.
  • .

Модель, которую может создать Django (или вы), может выглядеть примерно так

class Client(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    # ... etc ...

    class Meta:
       managed = False
       db_table = 'clients'

Создавайте модели Django на основе структуры базы данных, интроспектируя ее с помощью команды inspectdb:

$ python manage.py inspectdb > models.py

Затем вы можете запросить базу данных с помощью Django API.

Посмотрите на https://docs.djangoproject.com/en/3.2/howto/legacy-databases/#auto-generate-the-models

Вернуться на верх