Я читаю некоторые коды, и мне трудно понять Comment.objects.filter(parent=self)
, коды ниже:
class Comment(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
timestamp = models.DateTimeField(auto_now_add=True)
content = models.TextField()
parent = models.ForeignKey('self', null=True, blank=True)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
def __str__(self):
return f'[{self.user}] commented on [{self.object_id}]'
@property
def children(self):
return Comment.objects.filter(parent=self)
Это приложение для комментариев и ответов.Это мое понимание по этому поводу, пожалуйста, поправьте меня, если я ошибаюсь.Свойство children
является ответами на комментарии в приложении Django.
Практически, если я действительно прокомментирую сообщение типа this is a nice post
, поле parent
в этой модели будет равно этому экземпляру комментария, а именно this is a nice post
, и если кто-то ответит на этот комментарий какthank you for comment
, опять же, что parent
будет изменено с этим экземпляром комментария.
Я довольно смущен.Не могли бы вы уточнить это, пожалуйста, спасибо?