Скребок не поддерживает поле
Я создал скрепер для сбора информации из Интернета и последующей загрузки ее в мою базу данных django.
Однако, я получаю следующую ошибку:
raise KeyError(f"{self.class.name} не поддерживает поле: {key}") KeyError: 'ScraperItem не поддерживает поле: title'
.
Вот мой items.py
from scrapy_djangoitem import DjangoItem
from cruise_control.models import Cruises, Destination
class ScraperItem(DjangoItem):
django_cruises = Cruises
django_destination = Destination
Мой скребок
pipelines.py
from cruise_control.models import Cruises, Destination
def clean_title(param):
return param
class ScraperPipeline:
def process_item(self, item, spider):
title = clean_title(item['title'])
destination = clean_title(item['destination'])
ship_name = clean_title(item['ship_name'])
Cruises.objects.create(
title=title,
ship_name=ship_name)
Destination.objects.create(
destination=item[destination]
)
return item
Мой models.py
from django.db import models
class Cruises(models.Model):
title = models.TextField(max_length=200)
ship_name = models.CharField(blank=True, null=True,max_length = 200)
def __str__(self):
return self.title
class Destination(models.Model):
destination = models.ForeignKey(Cruises, on_delete=models.CASCADE)