允许使用 Django-Moderation 根据条件将模型实例添加到审核队列
Allow a model instance to be added to the moderation queue based on a condition using Django-Moderation
给定一个模型:
class Blog(models.Model):
title = models.CharField(max_length=200)#Title of the Post
body = models.TextField(blank=False)
state = models.CharField(max_length=60,choices=STATE_CHOICES,default='raw')`
仅当 state=published
时,博客实例才会添加到 Django-Moderation 的审核队列中
这个问题的解决方案是使用 Django-Moderation 的 "Automoderation" 特性。每当我们使用 instance.save()
保存我们的模型实例时,我们都会通过覆盖 Generic Moderator
的 is_auto_approve()
函数来自动调节模型实例,如图所示。
class BlogModerator(GenericModerator):
def is_auto_approve(self, obj, user):
if obj.state == "raw":
return self.reason('Not Submitted Yet !')
super(MyModelModerator, self).is_auto_approve(obj, user)
此处所有 state = raw
绕过审核或以其他方式添加到审核队列的实例。
给定一个模型:
class Blog(models.Model):
title = models.CharField(max_length=200)#Title of the Post
body = models.TextField(blank=False)
state = models.CharField(max_length=60,choices=STATE_CHOICES,default='raw')`
仅当 state=published
这个问题的解决方案是使用 Django-Moderation 的 "Automoderation" 特性。每当我们使用 instance.save()
保存我们的模型实例时,我们都会通过覆盖 Generic Moderator
的 is_auto_approve()
函数来自动调节模型实例,如图所示。
class BlogModerator(GenericModerator):
def is_auto_approve(self, obj, user):
if obj.state == "raw":
return self.reason('Not Submitted Yet !')
super(MyModelModerator, self).is_auto_approve(obj, user)
此处所有 state = raw
绕过审核或以其他方式添加到审核队列的实例。