(fields.E300) Поле определяет связь с моделью 'Product', которая либо не установлена, либо является абстрактной Django
Я новичок в django, я столкнулся со следующей ошибкой, когда я хотел определить две модели, которые имеют foreignkey друг к другу. Я искал об этом и обнаружил, что это может произойти, когда модели были в двух разных приложениях, но мои модели находятся в одном приложении. Не могли бы вы помочь мне с этим. Спасибо
ERRORS: ?[31;1mstore.Collection.featured_product: (fields.E300) Поле определяет связь с моделью 'Product', которая либо не установлена, либо является абстрактной. ?[0m
class Collection(models.Model):
title = models.CharField(max_length=255)
featured_product = models.ForeignKey(
'Product', on_delete=models.SET_NULL, null = True, related_name= '+')
class Product(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
price = models.DecimalField(max_digits=6, decimal_places=2)
inventory = models.IntegerField()
last_update = models.DateTimeField(auto_now=True)
collection = models.ForeignKey(Collection, on_delete=models.PROTECT)
promotion = models.ManyToManyField(Promotion)
Ваша ошибка в этой строке: featured_product = models.ForeignKey( 'Product', on_delete=models.SET_NULL, null = True, related_name='+')
>Имя модели упомянуто между двумя скобками 🤔, чего не должно быть, см. пересмотренную строку: featured_product = models.ForeignKey( Product, on_delete=models.SET_NULL, null = True, related_name= '+')
И я бы предложил вам изменить related_name с '+' на 'product'