Как сделать публикацию новости посредством чекбокса?
class NewsView(ListView):
  model = News
  def get_queryset(self):
    return super().get_queryset().filter(published=True)
В чем проблема то?
#models.py# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models
from .managers import NewsQuerySet

class Product(models.Model):
    is_published = models.BooleanField(
        default=False,
        verbose_name=u'Показывать на сайте',
    )
    title = models.CharField(
        max_length=200,
        verbose_name=u'Название',
    )

    objects = NewsQuerySet.as_manager()
    
    class Meta:
        verbose_name = u'Новость'
        verbose_name_plural = u'Новости'

    def __unicode__(self):
        return self.title
Я обычно делаю так. Создаю менеджер, в нём фильтр на публикацию.
#managers.py# -*- coding: utf-8 -*-
from django.db import models

class NewsQuerySet(models.QuerySet):
    def published(self):
        return self.filter(is_published=True)
Вызываю это так 
#views.py# -*- coding: utf-8 -*-
from django.views.generic import ListView, DetailView

from .models import News


class NewsList(ListView):
    queryset = News.objects.published()


class NewsDetail(DetailView):
    queryset = News.objects.published()