给出一个模型:
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
答案 0 :(得分:0)
此问题的解决方案是使用Django-Moderation的“Automoderation”功能。每当我们使用instance.save()
保存模型实例时,我们会通过覆盖is_auto_approve()
Generic Moderator
函数来自动调整模型实例,如图所示。
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
绕过审核或其他操作添加到审核队列的所有实例。