Использую данный стек в проекте. Вылетает следующая ошибка:
sqlalchemy.orm.exc.UnmappedInstanceError: Class news_scrap.items.NewsItem' is not mapped.
Вроде и понимаю, в чем дело, но как исправить, ума не приложу. Интернет подсказывает как работать, если у тебя нет django-item, а с ним - хз. Надеюсь на Вас. Ниже scrapy файлы.
Items.pyfrom scrapy_djangoitem import DjangoItem
from main.models import News
class NewsItem(DjangoItem):
django_model = News
__tablename__ = "main_news"
Models.pyfrom sqlalchemy import *
from sqlalchemy.engine.url import URL
from . import settings
def db_connect():
"""
Performs database connection using database settings from settings.py.
Returns sqlalchemy engine instance
"""
return create_engine(URL(**settings.DATABASE))
Pipelines.pyfrom sqlalchemy.orm import sessionmaker
from .items import NewsItem
from .models import db_connect
class NewsScrapPipeline(object):
def __init__(self):
"""
Initializes database connection and sessionmaker.
Creates deals table.
"""
#log.INFO('First Point')
engine = db_connect()
self.Session = sessionmaker(bind=engine)
def process_item(self, item, spider):
session = self.Session()
news = NewsItem(**item)
#log.INFO('This Point')
try:
session.add(news)
session.commit()
except:
session.rollback()
raise
finally:
session.close()
return item
Если нужны еще какие-либо участки когда, говорите.