Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2015 14:57:45

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

sqlalchemy models

4kpt_III
Могут, но в случае связывания одна модель должна знать о другой.
ага. значит надо явно передать класс? я правильно понял?

я так и делал. но чето не работало. что не работало, напишу позже. щас не успеваю.
за помощь спасибо

Офлайн

#2 Сен. 29, 2015 14:59:28

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

sqlalchemy models

ilnur
за помощь спасибо

За что? Я вообще не понял сначала, что Вы хотите. Думал у Вас есть необходимость моделей, но так как старый проект, то там все на уровне таблиц. Поэтому Вам необходимо перевести это все в синтаксис табличный. Короче. Запутался. Поэтому сначала послал по неверному пути, так что приношу свои извинения

Офлайн

#3 Сен. 29, 2015 15:07:44

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

sqlalchemy models

что я хочу. чтобы у меня были таблицы в БД и модели

таблицы в БД я создал миграцией. таблицы в БД есть, захожу и смотрю как бы.

потом я сделал модели.

и используя эти модели пытаюсь сохранить объекты в БД

session = sessionmaker(session_engine)()
model1_inst = model1.Model1()
session.add(model1_inst)
session.commit()

model2_inst = model2.Model(model1_id=model1_inst.id)
session.add(model2_inst)
session.commit()

Офлайн

#4 Сен. 29, 2015 15:17:17

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

sqlalchemy models

Ну вообще-то делается не совсем так Если Вы работали с алембиком, то странно использование такого подхода. С алембиком делается так:
- фиксируется старая схема БД;
- добавляются новые элементы;
- создаются миграции по новой схеме БД;
- миграция накатывается на БД.

Теперь по Вашему вопросу. Раз миграции накатились успешно и просмотр внутренней структуры БД показывает, что все в порядке, значит ошибка где-то в моделях. Я просто предполагаю, что одна модель ничего не знает о другой, соответственно маппер связать relationship не может.

Офлайн

#5 Сен. 21, 2017 23:13:50

vczm
Зарегистрирован: 2017-09-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlalchemy models

@ilnur Чтобы избежать вышеописанной ошибки можно попробовать описать модели в одном файле.
Если разбивать по файлам, то можно попробовать так
models
├── __init__.py
├── model1.py
├── model2.py
└── model3.py

В __init__.py добавить
import models.model1.py
import models.model2.py
import models.model3.py

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version