繁体   English   中英

在 Django 中创建“评论”实例以进行迁移?

[英]Creating “Comment” instances in Django for migration?

我目前有一堆旧评论,我需要迁移到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()

主要问题是在 django.contrib.comment.model 中找到的django.contrib.comment.model BaseCommentAbstractModel中缺少信息。 具体三个字段:

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 object (model.Blog) 中的这些字段?

也许某处有一种方法可以接受 model object 和要添加的评论内容?

文档中:

  • content_type设置为您的 model 的ContentType实例(您要附加评论的那个):

    content_type = ContentType.objects.get_for_model(Blog)

  • object_pk设置为 object 的主键:

    object_pk = myBlog_instance.pk

  • content_object将指向这两个字段,您不必设置它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM