我想构建一个自定义过滤器,它将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>]
问题:
如何获取解析后的类别列表[&#39; Enemies&#39;,&#39; Allies&#39;,&#39; Friends&#39;,&#39; Family& #39;]而不是上面(为了我的 if 语句可以工作)?
如果没有上述问题1的答案,我如何使用IF语句在上面显示的BlogCategory列表中进行搜索?
谢谢,
GG
答案 0 :(得分:2)
我自己找到答案,这样:我用dir(category)来获取它的方法=&gt;发现之一:标题,slug等... 然后我用:
for category in categories:
if category.title == 'Friends':
# do stuff