Django rest self-referencing ForeignKey error Прямое назначение обратной стороне связанного набора запрещено. Вместо этого используйте parent.set () - PullRequest
0 голосов
/ 31 октября 2019

Модель:

class Comment(models.Model, CharField, ListField):
    user = models.ForeignKey('auth.User', on_delete=models.CASCADE, related_name='comment_user',
                             blank=True, null=True)
    news = models.ForeignKey(News, related_name='comment_of', on_delete=models.CASCADE)
    content = models.CharField(validators=[MinLengthValidator(4)], max_length=200")
    parent_comment = models.ForeignKey('self', blank=True, null=True, related_name='parent',
                                       on_delete=models.CASCADE)
    class Meta:

        ordering = ['-created']

    def __str__(self):
        return self.content

Когда я вхожу в комментарий администратора, появляется сообщение об ошибке:

Прямое назначение обратной стороне связанного набора запрещено. Вместо этого используйте parent.set ().

Когда я удаляю:

parent_comment = models.ForeignKey('self', blank=True, null=True, related_name='parent',
                                   on_delete=models.CASCADE)

Ошибка исчезла.

Итак, как изменить parent_comment , я думаю, что проблема здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...