# models.py
STATUS_CHOICES = (
('d', 'Rascunho'),
('p', 'Publicado'),
('w', 'Retirado'),
)
class Article(models.Model):
...
status = models.CharField(max_length=1, choices=STATUS_CHOICES)
# admin.py
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
...
actions = ('make_published',)
def make_published(self, request, queryset):
count = queryset.update(status='p')
if count == 1:
msg = '{} artigo foi publicado.'
else:
msg = '{} artigos foram publicados.'
self.message_user(request, msg.format(count))
make_published.short_description = "Publicar artigos"