2014-01-23 3 views
0

Я QuerySet так:Loop внутри цикла в QuerySet в шаблоне Django

hello = Hello.objects.all()

В шаблоне я хотел бы сделать так, чтобы получить данные:

{% for h in hello %} 
    {% for i in h.data %} #data is stored like this ['a', 'b', 'c'] --> I want to access individual componenet, thus I would do: 
     {{i}} 
    {% endfor %} 
{% endfor %} 

Но вместо того, получая данные как:

a 
b 
c 

Это дает в ['a', 'b', 'c']

Что случилось? У меня есть причина хранить данные в списке. Как получить доступ к каждой информации отдельно. Благодаря

Цель: Цвета сохраняются в поле данных как: [black, green, brown] Таким образом, я хочу добиться:

div style="color: black" 
div style="color: green" 
div style="color: brown" 

Редактировать models.py класс Hello (models.Model): пользователь = models.ForeignKey (Пользователь) data = models.CharField (max_length = 255)

def __str__(self): 
    return "%s's decoration photos" % self.user 
+0

Не могли бы вы предоставить исходный код models.py? – niekas

+0

Несомненно, сэр, пожалуйста, см. Мой отредактированный вопрос. – pynovice

ответ

0

Предполагая, что Hello - это модель с data, хранящаяся как CharField, то Django является правильным, если предположить, что у вас есть строка, а не список.

Попробуйте использовать модель под названием Color, у которой есть ForeignKey to Hello. Это был бы правильный способ иметь отношения «один ко многим» между Hello и его объектами Color.

-1

Лучший способ справиться с этим - написать собственный фильтр шаблонов django для перебора фильтра.

Очень похоже на то, что дано в https://docs.djangoproject.com/en/dev/ref/templates/builtins/

И получать старт здесь. https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

+0

Превышение для такого конкретного случая – Alvaro

Смежные вопросы