Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2020 15:46:45

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

пишу задачу на MySQL в Джанго.
Правильно ли я понимаю, что для того чтобы в Джанго работать со связанными таблицами, эти таблицы нужно сначала внутри Джанго связать и потом внутри Джанго связанные колонки заполнить Джанговскими обьектами?

например у меня есть две таблицы вне Джанго - пускай Ордера и Клиенты
таблица Клиентов содержит примерно 20.000 записей
таблица Ордеров примерно 100.000 записей
То есть Джанго еще о них не знает.
.
таблица Клиентов содержит Ид_Клиента
таблица Ордеров его также содержит
то есть логически связать эти две таблицы не тяжело.
-
Мне нужно эти таблицы перетащить на удаленый сервер и связать их там, чтобы Джанго понял что они связаны.
Какие есть варианты?
Спасибо

Офлайн

#2 Янв. 7, 2020 16:16:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

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



Офлайн

#3 Янв. 7, 2020 20:31:03

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

FishHook
для этого необходимо и достаточно построить правильные модели ваших персистентных сущностей
другой бы поспорил, а я не буду.
не будете ли вы любезны обьяснить на простом примере, если возможно.

Офлайн

#4 Янв. 8, 2020 10:25:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

gtlhbkkj
Джанга не работает с таблицами БД. Вернее работает, конечно, но через слой абстракции ОРМ - т.е. через объектно-реляционную модель. Если вы проходили туториал по Джанге или читали какую-нибудь литературу, то вы наверняка знаете, что вся бизнес-логика в Джанге строится вокруг моделей - классов, которыми вы описываете персистентные (то есть те, которые должны долговременно храниться) сущности. И опирируя этими сущностями, как обычными объектами питона, вы получаете изменения в БД как отражение ваших действий. Таким образом, для того чтобы работать с БД, вам необходимо сначала построить модели. Постольку поскольку вы, как я понял, собираетесь работать с уже существующей базой, то вам придется погрузиться в модели чуть глуюже, чтобы привязать конкретные поля моделей к конкретным столбцам конкретных таблиц. Начать советую с чтения документации отсюда и дальше.



Офлайн

#5 Янв. 8, 2020 13:17:42

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

FishHook
Джанга не работает с таблицами БД. Вернее работает, конечно, но через слой абстракции ОРМ
благодарю вас.
это понятно что Джанго оборачивает базы в свой универсальный обработчик.
Кому-то так проще, а кому-то наоборот сложнее.
На самом деле у базы нет пока жесткой структуры или другими словами ее можно менять на данном этапе.
у меня, например, две MySQL таблицы типа КЛИЕНТЫ (30-40 тыс записей) - ЗАКАЗЫ (100-120 тыс записей. Теоретически может вырасти до 200.000 вряд ли больше. Не думаю что проект столько проживет.)
когда я их на джанго замоделировал, то из двух таблиц стало то ли 4, то ли 6 (появились какие-то обслуживающие таблицы Джанго) и появился геморрой с синхронизацией базы Джанго с черновой базой на MySQL на другом компе.
Таблицы через Джанго предполагается использовать только для поиска (не для изменения), то есть исключительно как поисковую базу. В первой таблице ищется результат, а из остальных “дочерних” таблиц подсасываются детали.
Получается что мне нужно не заморачиваться с установлением связи таблиц между собой типа Мени-ту-мени или уан-ту-мени в Джанго и пользоваться отдельными несвязанными таблицами.
Правильно ли я это понимаю?
Насколько заметно при этом будет замедление скорости обработки запроса при обращении к несвязанным таблицам по сравнению с тем же запросам к связанным таблицам при таком вроде небольшом количестве записей в таблицах?
Спасибо

Офлайн

#6 Янв. 8, 2020 14:38:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

gtlhbkkj
Прочитайте туториал в конце концов!



Офлайн

#7 Янв. 8, 2020 15:59:54

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Как связать существующие MySQL таблицы в Django

FishHook
gtlhbkkjПрочитайте туториал в конце концов!
хорошо !!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version