我有一个名为Question的模型.模型允许用户创建新问题.我正在尝试使用对象的查询集填充多个表单.当我尝试使用查询集初始化时出现问题.我收到这个错误
'Question' object is not iterable
File "C:\mysite\pet\views.py" in DisplayAll
294. formset = form(initial=q)
Run Code Online (Sandbox Code Playgroud)
models.py
class Question(models.Model):
question= models.CharField(max_length=500)
user = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)
形式
class QuestionForm(forms.ModelForm):
question= forms.CharField(required=True,max_length=51)
class Meta:
model = Question
fields = ('question',)
Run Code Online (Sandbox Code Playgroud)
意见
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})
Run Code Online (Sandbox Code Playgroud)
模板
{% for f in formset %}
{{f}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
Sam*_*zzo 26
Initial 需要一个值字典,所以你只需要像这样更改你的查询集:
q = Question.objects.filter(user=request.user).values()
Run Code Online (Sandbox Code Playgroud)
查看文档有关values()
| 归档时间: |
|
| 查看次数: |
39423 次 |
| 最近记录: |