我有一个模型叫做Question。模型允许用户创建新问题。我正在尝试用一个对象查询集来填充多个表单。当我尝试使用查询集进行初始化时,出现问题。我得到了这个错误
'Question' object is not iterable
File "C:\mysite\pet\views.py" in DisplayAll
294. formset = form(initial=q)models.py
class Question(models.Model):
question= models.CharField(max_length=500)
user = models.ForeignKey(User)表单
class QuestionForm(forms.ModelForm):
question= forms.CharField(required=True,max_length=51)
class Meta:
model = Question
fields = ('question',)视图
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})模板
{% for f in formset %}
{{f}}
{% endfor %}发布于 2013-07-04 23:47:01
Initial需要一个值字典,所以您只需像这样更改查询集:
q = Question.objects.filter(user=request.user).values()请参阅关于values()的docs
https://stackoverflow.com/questions/17473775
复制相似问题