Cannot assign "'": "Description.des" must be a "item" instance
Пишу интернет-магазин, данные предварительно парсились и записывались в массив, было создано 2 модели для отображения характеристик товара и для редактирования названия характеристик, но у меня выходит ошибка
Cannot assign "'Смартфон SAMSUNG Galaxy S21 Ultra 12/256 Gb Dual Sim Phantom Black (SM-G998BZKGSEK)'": "Description.des" must be a "item" instance
models.py
class item(models.Model):
name = models.CharField(max_length=100)
price = models.TextField(max_length=100)
reviews = models.TextField(max_length=100)
category = models.CharField(max_length=250)
full_url = models.CharField(max_length=1500)
image_urls = models.CharField(max_length=1500)
def __str__(self):
return self.name
class Review(models.Model):
rev = models.ForeignKey(item, on_delete=CASCADE)
name = models.CharField(max_length=100)
text = models.CharField(max_length=100)
itemid = models.CharField(max_length=50)
class DescriptionOption(models.Model):
nameInfo = models.CharField(max_length=500)
infoItem = models.CharField(max_length=500)
def __str__(self):
return self.nameInfo
class Description(models.Model):
des = models.ForeignKey(item, on_delete=CASCADE)
nameD = models.ForeignKey(DescriptionOption, on_delete=CASCADE)
infoD = models.CharField(max_length=500)
views.py
def current_item(request, item_id):
a = item.objects.get(id = item_id)
MainDescriptionList = []
MainInfoList = []
ReviewsAuthorList = []
ReviewsTextList = []
link = item.objects.get(id=item_id).full_url
res = req.get(link, headers={'User-Agent': UserAgent().chrome})
html = BeautifulSoup(res.text, 'html.parser')
MainDescription = html.select('.page .product-img__specs ul li label')
for x in MainDescription:
MainDescriptionList.append(x.text)
i = -1
for MainDescription in MainDescriptionList:
DescriptionOption.objects.create(nameInfo=MainDescription, infoItem=item.objects.get(id=item_id).category)
MainInfo = html.select('.page .product-img__specs ul li p')
for x in MainInfo:
MainInfoList.append(x.text)
cat = item.objects.get(id=item_id).category
for MainDescription in MainInfoList:
Description.objects.create(des=item.objects.get(id=item_id).name, nameD=DescriptionOption.objects.filter(infoItem=cat), infoD=MainDescription)
i = -1
while i < len(MainDescriptionList):
i+=1
if i == len(MainDescriptionList):
break
else:
pass