Django评论应用,获取内容类型

| 我试图创建一个注释应用程序以在需要的任何地方使用它,所以我很想我必须使用
ContentType
将注释附加到我项目的不同模型中。 所以在这里: 我的
model
class Comment(models.Model):
    user = models.ForeignKey(User, blank=True, null=True)
    text = models.TextField((u\'Текст комментария\'))
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey(\'content_type\', \'object_id\')
我的
view
def add_comment(request):
    if request.method == \'POST\':
        form = CommentForm(request.POST)

        if form.is_valid():
            new_comment = Comment()
            new_comment.text = request.POST[\'text\']
            new_comment.content_type = ???
            new_comment.object_id = request.POST[\'object_id\']
            new_comment.user = request.user
            new_comment.save()
            return HttpResponseRedirect(request.META[\'HTTP_REFERER\'])
    else: ...
如何获取正在使用的当前模型的内容类型? 我有应用新闻,并在其中建模了帖子,所以我想评论我的帖子。 我知道我可以使用
ContentType.objects.get(app_label=\"news\", model=\"post\")
,但我得到的是确切的价值,因此,我的评论应用程序不会用途广泛。 附言对不起,英语不好。     
已邀请:
校验ѭ6:返回一个映射,该映射用于创建未保存的注释实例:
return dict(
    content_type = ContentType.objects.get_for_model(self.target_object),
    object_pk    = force_unicode(self.target_object._get_pk_val()),
    user_name    = self.cleaned_data[\"name\"],
    user_email   = self.cleaned_data[\"email\"],
    user_url     = self.cleaned_data[\"url\"],
    comment      = self.cleaned_data[\"comment\"],
    submit_date  = datetime.datetime.now(),
    site_id      = settings.SITE_ID,
    is_public    = True,
    is_removed   = False,
)
所以我想您正在寻找的行是:
content_type = ContentType.objects.get_for_model(self.target_object),
注意,“ 9”是表单实例,“ 10”返回当前注释附加到的实例。     

要回复问题请先登录注册