Исключение Значение: нет такого столбца: noticia_tb.id
Я сделал приложение для скрапинга с помощью scrapy, чтобы скрапировать новости со страницы, я поместил его для создания базы данных sqlite, а затем я сделал django api для потребления этой базы данных и сделать ссылку доступной в json, однако, когда я загружаю приложение со следующей ошибкой:
OperationalError at /news/ нет такой колонки: noticia_tb.id
Я открыл файл базы данных и заметил, что ID не был сгенерирован, как мне сгенерировать этот ID или использовать его без него?
следуйте за моим moldels.py
class NoticiaTb(models.Model):
title = models.TextField(blank=True, null=True)
subtitulo = models.TextField(blank=True, null=True)
url = models.TextField(blank=True, null=True)
data = models.TextField(blank=True, null=True)
image_url = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'noticia_tb'
следуйте конвейеру проекта scrapy
class ApinoticiaPipeline(object):
def __init__(self):
self.create_connection()
self.create_table()
def create_connection(self):
self.conn = sqlite3.connect("myapinoticia.db")
self.curr = self.conn.cursor()
def create_table(self):
self.curr.execute("""DROP TABLE IF EXISTS noticia_tb""")
self.conn.execute("""create table noticia_tb(
title text,
subtitulo text,
url text,
data text,
image_url text
)""")
def process_item(self, item, spider):
self.store_db(item)
return item
def store_db(self, item):
self.curr.execute("""insert into noticia_tb values (?,?,?,?,?)""",(str(item['title'][0]),str(item['subtitulo'][0]),str(item['url'][0]),str(item['data'][0]),str(item['image_url'][0])))
self.conn.commit()