Форум сайта python.su
4kpt_IIIага. значит надо явно передать класс? я правильно понял?
Могут, но в случае связывания одна модель должна знать о другой.
Офлайн
ilnur
за помощь спасибо
Офлайн
что я хочу. чтобы у меня были таблицы в БД и модели
таблицы в БД я создал миграцией. таблицы в БД есть, захожу и смотрю как бы.
потом я сделал модели.
и используя эти модели пытаюсь сохранить объекты в БД
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()
Офлайн
Ну вообще-то делается не совсем так Если Вы работали с алембиком, то странно использование такого подхода. С алембиком делается так:
- фиксируется старая схема БД;
- добавляются новые элементы;
- создаются миграции по новой схеме БД;
- миграция накатывается на БД.
Теперь по Вашему вопросу. Раз миграции накатились успешно и просмотр внутренней структуры БД показывает, что все в порядке, значит ошибка где-то в моделях. Я просто предполагаю, что одна модель ничего не знает о другой, соответственно маппер связать relationship не может.
Офлайн
@ilnur Чтобы избежать вышеописанной ошибки можно попробовать описать модели в одном файле.
Если разбивать по файлам, то можно попробовать так
models
├── __init__.py
├── model1.py
├── model2.py
└── model3.py
В __init__.py добавить
import models.model1.py
import models.model2.py
import models.model3.py
Офлайн