Я очень новичок в sqlalchemy и пытаюсь понять, как сделать вещи чище и подключаться.Доступ к тому же db.session через разные модули в sqlalchemy
Я создал файл/base base.py, где я создал сеанс и установил все мои объекты в таблицах (наряду с отношениями и т. Д.). Я хочу создать еще один модуль, в котором я управляю операциями CRUD для сущностей (таблиц) в base.py. Этот файл называется object.py и имеет класс BaseAPI (объект) и имеет разные функции «создавать» «читать» «обновление» и «удалить». Я хочу убедиться, что я подключаюсь к моей таблице (base.py) в object.py и работает с объектом User. В этом случае объектом (таблицей) является «Пользователи».
Это то, что я имею в API object.py документ:
#!/usr/bin/env python
from sqlalchemy import create_engine
from sqlalchemy.orm import relationship, backref, sessionmaker
from datetime import datetime, timedelta
import notssdb.model
from base import User #importing from the module base.py -- doesn't work
engine = create_engine('sqlite:///./notssdb.db', echo=True) #in-memory sql engine
# create a Session
Session = sessionmaker(bind=engine)
class BaseAPI(object):
# DBSession = scoped_session(sessionmaker(engine))
# users = DBSession.query(User).all()
def __init__ (self):
session = Session()
# CREATE USER
def create_user(self, username, password, fullname):
new_user = User(username, password, fullname)
self.session.commit(new_user)
print(username, password, fullname)
Могу ли я импортировать слишком много вещей? Нужно ли мне импортировать все инструменты sqlalchemy? Является ли мой init конструктором под классом BaseAPI необходимо создать экземпляр сеанса БД?