2015-04-02 2 views
2

Я хочу создать настраиваемый фильтр, который принимает аргумент blog_post в качестве аргумента и выполняет синтаксический разбор категорий (прикрепленных к сообщению в блоге).Mezzanine BlogCode разбор категорий

Я пытался так:

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. как можно Я получаю список категорий, которые были проанализированы следующим образом [«Враги», «Союзники», «Друзья», «Семья») вместо выше (для того, чтобы мой если заявление для работы)?

  2. без ответа на вопрос 1 выше, как я могу использовать оператор IF для поиска в списке BlogCategory, показанном выше?

Спасибо,

GG

ответ

2

нашел ответ сам, таким образом: я реж (категория), чтобы получить его методы => найти среди: название, слизняк, и т.д ... затем я использую:

for category in categories: 
    if category.title == 'Friends': 
     # do stuff 
Смежные вопросы