Связанные данные ManyToManyField Django Python

Мне надо чтобы в модели, была запись ManyToManyField по отношению к самой модели То есть допустим есть

  • продукт
  • надо выборочно связать продукт с другими продуктами, которые уже есть в базе

правильная ли у меня логика, что я создаю в самой модели Products ForeignKey на модель ProductsRelated c ManyToManyField на Products? то есть какая-то рекурсия получается

models.py

 class Products(models.Model):
        title = models.CharField(max_length=150, verbose_name='Название')    
        related = models.ForeignKey('ProductsRelated', null=True, on_delete=models.PROTECT)
    
    
    class ProductsRelated(models.Model):
        related = models.ManyToManyField(Products)
    

в данном примере выдает ошибку (plugins это реальное имя моделей, в примере сверху переименовал для наглядности)

django.db.utils.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`crm3`.`#sql-1a98_3f`, CONSTRAINT `plugins_plugins_related_id_51d4783b_fk_plugin
s_pluginsrelated_id` FOREIGN KEY (`related_id`) REFERENCES `plugins_pluginsrelated` (`id`))')

Ответы (0 шт):