Два проекта используют одну и ту же базу данных Postgres, а проект на Django
У меня есть два проекта, которые используют одну и ту же базу данных Postgresql. Один из этих проектов написан на Golange, а другой на Django. У меня есть задача в проекте Django, взять данные из таблицы, которая создана в другом проекте. Точнее мне нужно взять данные из таблицы Clients, которая не создана в Django. В проекте Django нет никакой информации о таблице Clients.
Ниже показано, как я беру дату из таблицы Cook, которая создана в проекте Django.
Как я могу взять дату из таблицы Clients таким же образом, как описано выше?
Ниже представлены оба репозитория проекта и несколько скриншотов из базы данных.
https://github.com/NarminSH/Go-Client.git
https://github.com/NarminSH/Lezzetly
Заранее спасибо.
У вас есть несколько вариантов:
- Используйте необработанные 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


