[英]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.