Найти - Пользователи
Полная версия: Как связать существующие MySQL таблицы в Django
Начало » Python для новичков » Как связать существующие MySQL таблицы в Django
1
gtlhbkkj
пишу задачу на MySQL в Джанго.
Правильно ли я понимаю, что для того чтобы в Джанго работать со связанными таблицами, эти таблицы нужно сначала внутри Джанго связать и потом внутри Джанго связанные колонки заполнить Джанговскими обьектами?

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

gtlhbkkj
FishHook
Джанга не работает с таблицами БД. Вернее работает, конечно, но через слой абстракции ОРМ
благодарю вас.
это понятно что Джанго оборачивает базы в свой универсальный обработчик.
Кому-то так проще, а кому-то наоборот сложнее.
На самом деле у базы нет пока жесткой структуры или другими словами ее можно менять на данном этапе.
у меня, например, две MySQL таблицы типа КЛИЕНТЫ (30-40 тыс записей) - ЗАКАЗЫ (100-120 тыс записей. Теоретически может вырасти до 200.000 вряд ли больше. Не думаю что проект столько проживет.)
когда я их на джанго замоделировал, то из двух таблиц стало то ли 4, то ли 6 (появились какие-то обслуживающие таблицы Джанго) и появился геморрой с синхронизацией базы Джанго с черновой базой на MySQL на другом компе.
Таблицы через Джанго предполагается использовать только для поиска (не для изменения), то есть исключительно как поисковую базу. В первой таблице ищется результат, а из остальных “дочерних” таблиц подсасываются детали.
Получается что мне нужно не заморачиваться с установлением связи таблиц между собой типа Мени-ту-мени или уан-ту-мени в Джанго и пользоваться отдельными несвязанными таблицами.
Правильно ли я это понимаю?
Насколько заметно при этом будет замедление скорости обработки запроса при обращении к несвязанным таблицам по сравнению с тем же запросам к связанным таблицам при таком вроде небольшом количестве записей в таблицах?
Спасибо
FishHook
gtlhbkkj
Прочитайте туториал в конце концов!
gtlhbkkj
FishHook
gtlhbkkjПрочитайте туториал в конце концов!
хорошо !!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB