将对象属性值添加到数组Django

时间:2016-11-05 18:46:01

标签: python arrays django

我是Django的新手,这是我第一个使用它的项目。我遇到了一个我不理解的问题(也许我没有使用正确的搜索条件)我在搜索解决方案时没有找到任何相关的结果。

我试图在模型的“主题”字段中获取一系列不同的条目。我正在玩shell,试图在我得到以下结果时想出来,这是我没想到的。

这是我在shell中输入的内容:

subprocess

我不明白为什么我最终得到一个单独的字母数组而不是'主题'字符串的数组。有人可以解释为什么会这样吗?

我也知道有更好的方法可以做我想做的事情但是,作为一个初学者,我没有适当地掌握Django。

1 个答案:

答案 0 :(得分:1)

尝试使用append方法而不是a += q.topic

a.append(q.topic)

或者:

a += [q.topic]

原因是字符串对象是可迭代的,python将迭代以将项目附加到列表中。因此,迭代'Robotics'会为您提供['R', 'o', 'b', 'o', 't', 'i', 'c', 's']

因此,如果指定单个列表值[q.topic],python将为q.topic循环中的每次迭代附加for的值。