В настоящее время у меня есть куча старых комментариев, которые мне нужно перенести на django.contrib.comment
, и я планировал вручную создать экземпляры комментариев, а затем сохранить их следующим образом:
# assume some_content is NOT a django Comment instance, but in some proprietary format
# assume the model I'm attaching the comment to is called Blog i.e models.Blog
c = Comment()
c.user = user
c.submit_date = some_comment.comment_date_time
c.comment = some_comment.comment
...
c.save()
Основная проблема заключается в недостающей информации, найденной в классе BaseCommentAbstractModel
, найденной в django.contrib.comment.model
. В частности, три поля:
BaseCommentAbstractModel(models.Model):
# Content-object field
content_type = models.ForeignKey(ContentType,
verbose_name=_('content type'),
related_name="content_type_set_for_%(class)s")
object_pk = models.TextField(_('object ID'))
content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_pk")
Я прочитал документацию и, насколько мог, исходный код, но он не был достаточно подробным. Как правильно указать эти поля из объекта модели (model.Blog)?
Может быть, где-то есть метод, который принимает объект модели и добавляет содержимое комментария?