(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'

Вернуться на верх