首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“'Questions”对象不是可迭代的Django

“'Questions”对象不是可迭代的Django
EN

Stack Overflow用户
提问于 2013-07-04 23:20:26
回答 1查看 49.2K关注 0票数 19

我有一个模型叫做Question。模型允许用户创建新问题。我正在尝试用一个对象查询集来填充多个表单。当我尝试使用查询集进行初始化时,出现问题。我得到了这个错误

代码语言:javascript
复制
 'Question' object is not iterable


File "C:\mysite\pet\views.py" in DisplayAll
294.             formset = form(initial=q)

models.py

代码语言:javascript
复制
class Question(models.Model):
    question= models.CharField(max_length=500)
    user = models.ForeignKey(User)

表单

代码语言:javascript
复制
class QuestionForm(forms.ModelForm):
question= forms.CharField(required=True,max_length=51)
class Meta:
    model = Question
    fields = ('question',)

视图

代码语言:javascript
复制
def DisplayAll(request):
    q = Question.objects.filter(user=request.user)

    form = formset_factory(QuestionForm)
    formset = form(initial=q)
    return render(request,'question.html',{'formset':formset})

模板

代码语言:javascript
复制
 {% for f in formset %}
 {{f}}
 {% endfor %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-04 23:47:01

Initial需要一个值字典,所以您只需像这样更改查询集:

代码语言:javascript
复制
q = Question.objects.filter(user=request.user).values()

请参阅关于values()docs

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17473775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档