Mezzanine BlogCategory解析类别

时间:2015-04-02 00:53:52

标签: mezzanine django-filters

我想构建一个自定义过滤器,它将blog_post作为参数,并对类别进行一些解析(附在博客文章中)。

我试过这样:

from mezzanine import template
from mezzanine.blog.models import BlogPost, BlogCategory

register = template.Library()

@register.filter(name='has_friends')
def has_friends(blog_post):
  categories = blog_post.categories.all()
  if 'Friends' in categories:
    return False
  else:
    return True

问题是blog_post.categories.all()会返回如下内容:

[<BlogCategory: Enemies>, <BlogCategory: Allies>, <BlogCategory: Friends>, <BlogCategory: Family>]

问题:

  1. 如何获取解析后的类别列表[&#39; Enemies&#39;,&#39; Allies&#39;,&#39; Friends&#39;,&#39; Family& #39;]而不是上面(为了我的 if 语句可以工作)?

  2. 如果没有上述问题1的答案,我如何使用IF语句在上面显示的BlogCategory列表中进行搜索?

  3. 谢谢,

    GG

1 个答案:

答案 0 :(得分:2)

我自己找到答案,这样:我用dir(category)来获取它的方法=&gt;发现之一:标题,slug等... 然后我用:

for category in categories:
    if category.title == 'Friends':
        # do stuff