- Приложение:
— База данных(каталог):
—– actions(каталог):
——– edit.py
—– models.py
Так вот задача такая: импортировать определенные классы и объекты из файла models.py находясь в файле edit.py
Спасибо.
import database.models
ImportError: No module named 'database'
from .database import models
>>> from .database import models Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> from .database import models SystemError: Parent module '' not loaded, cannot perform relative import

import sys sys.path.insert(1, '/actions/')
from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, ForeignKey class BaseClass: def __init__(self): self.baseDeclarative = declarative_base() self.baseEngine = create_engine('sqlite:///shop.db') declarativeObject = BaseClass() class Goods(declarativeObject.baseDeclarative): __tablename__ = 'goods' id = Column(Integer, primary_key = True) name = Column(String(250)) model = Column(String(250)) purchase = Column(Integer) price = Column(Integer) presence = Column(Integer) sale = Column(Integer) red_presence = Column(Integer, default=3) last_sale_date = Column(Integer) last_import = Column(Integer) alphabet = Column(String(10)) if __name__ == "__main__": declarativeObject.baseDeclarative.metadata.create_all(declarativeObject.baseEngine)
from models import declarativeObject as model from models import Goods from sqlalchemy.orm import sessionmaker class InitQueries: def __init__(self): model.baseDeclarative.metadata.bind = model.baseEngine dbSession = sessionmaker(bind=model.baseEngine) self.session = dbSession() init = InitQueries() class GoodsAction: def select(self, ident=None, alphabet=None): try: if ident == None and alphabet == None: rows = init.session.query(Goods).filter(Goods.alphabet == "А").all() return rows if ident == None and alphabet != None: rows = init.session.query(Goods).filter(Goods.alphabet == alphabet).all() return rows if ident != None: row = init.session.query(Goods).filter(Goods.id == ident).one() return row except: return "Ошибка выборки" pass def add(self, name, model, purchase, price, presence, sale, red_presence, last_import, alphabet): try: addRow = Goods(name=name, model=model, purchase=purchase, price=price,presence=presence, sale=sale, red_presence=red_presence, last_import=last_import, alphabet=alphabet) init.session.add(addRow) init.session.commit() print ("Добавлено") except: return "Ошибка добавления записи" if __name__ == "__main__": goods = GoodsAction()