为了账号安全,请及时绑定邮箱和手机立即绑定

在Django 1.3或更低版本的Django Admin中自定义过滤器

在Django 1.3或更低版本的Django Admin中自定义过滤器

梵蒂冈之花 2019-09-19 16:21:16
如何向django admin(显示在模型仪表板右侧的过滤器)添加自定义过滤器?我知道很容易包含一个基于该模型字段的过滤器,但是这样的“计算”字段呢:class NewsItem(models.Model):    headline = models.CharField(max_length=4096, blank=False)    byline_1 = models.CharField(max_length=4096, blank=True)    dateline = models.DateTimeField(help_text=_("date/time that appears on article"))    body_copy = models.TextField(blank=False)    when_to_publish = models.DateTimeField(verbose_name="When to publish",  blank=True, null=True)    # HOW CAN I HAVE "is_live" as part of the admin filter?  It's a calculated state!!    def is_live(self):        if self.when_to_publish is not None:            if ( self.when_to_publish < datetime.now() ):                return """ <img alt="True" src="/media/img/admin/icon-yes.gif"/> """        else:            return """ <img alt="False" src="/media/img/admin/icon-no.gif"/> """          is_live.allow_tags = Trueclass NewsItemAdmin(admin.ModelAdmin):    form = NewsItemAdminForm    list_display = ('headline', 'id', 'is_live')    list_filter = ('is_live')  #  how can i make this work??
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 705 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信