Задать вопрос

Почему при итерации значения записываются по одной букве?

Добрый день! Есть объект фильтра, который имеет два атрибута : name и tag_set (набор опций фильтра, который берутся из имени тегов продукта). Во вложенном цикле итерирую по именам тегов, ожидая в атрибуте tag_set увидеть ['name1', 'name2',], вместо этого получаю имена по одной букве:
>>> from teashop.filters import CatFilter
>>> from teashop.models import Product
>>> f = CatFilter('pueri', 'c')
>>> f.name
'c'
>>> f.tags
['N', 'e', 'a', 't', 'C', 'o', 'o', 'l', 'N', 'i', 'c', 'e', 'N', 'e', 'a', 't', 'C', 'o', 'o', 'l', 'N', 'i', 'c', 'e']


Класс:
from .models import Product

class CatFilter(object):
    def __init__(self, category_slug, prop_name):
        prods = Product.objects.filter(category=category_slug)
        tag_set = []
        for p in prods:
            tags = p.tag.filter(prop=prop_name)
            for t in tags:
                 tag_set += t.name
        self.name = prop_name
        self.tags = tag_set


Что я сделал не так и как записать в массив имена целиком, а не по букве?
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы