我有这样的查询集:
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
class Hello(models.Model):
user = models.ForeignKey(User)
data = models.CharField(max_length = 255)
def __str__(self):
return "%s's decoration photos" % self.user
答案 0 :(得分:0)
假设Hello
是一个将data
存储为CharField的模型,那么Django在假设你有一个字符串而不是一个列表时是正确的。
尝试使用名为Color
的模型,该模型的ForeignKey为Hello
。这是在Hello
及其Color
个对象之间建立一对多关系的正确方法。
答案 1 :(得分:-1)
处理此问题的最佳方法是编写自己的django模板过滤器以迭代过滤器。
与https://docs.djangoproject.com/en/dev/ref/templates/builtins/
的内容非常相似开始就在这里。 https://docs.djangoproject.com/en/dev/howto/custom-template-tags/