python - Django 属性错误 : 'str' object has no attribute 'model'

标签 python django

我有下面的表格;

class RemoveMemberForm(Form):
    member = forms.ModelChoiceField(queryset="",
                                  empty_label='Choose a Member',
    )

以及以下观点;

class StationHome(View):
    def get(self, request, pk):
        station = Station.objects.get(pk=pk)
        channels = Channel.objects.filter(station=station)
        members = station.members.all()
        form1 = AddMemberForm()
        form2 = RemoveMemberForm()
        form2.fields['member'].queryset = station.members.all()
        return render(request, 
                      "home_station.html",
                      {"station":station,
                       "form1":form1,
                       "form2":form2,
                       "channels":channels,
                       "members":members,
                   },
                  )

class MemberRemove(View):
    def post(self, request, pk):
        form = RemoveMemberForm(request.POST)
        if form.is_valid():
            Station.objects.get(pk=pk).members.remove(
                form.cleaned_data['member']
            )
            return HttpResponseRedirect(reverse("home_station",
                                        kwargs={'pk':pk},
                                    )
                            )

我想做的是让第二个 View 删除选定的成员并重定向到第一个 View 。但是相反,我卡在了 AttributeError at/station/2/removemember,对应于第二个 View 的 URL,'str' object has no attribute 'model'

最佳答案

这是因为您指定了:

queryset=""

在你的表单中。请改用查询集(例如 queryset=Member.objects.all())。

关于python - Django 属性错误 : 'str' object has no attribute 'model' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264956/

相关文章:

django - 在 Django restframework 中使用 python async/await

python - django 两个应用程序在每个 url's.py 文件中具有相同的 url

Django 管理员覆盖 filter_horizo​​ntal

python - 根据另一个数据帧的值对数据帧条目进行分组

python - 如何统计用户输入错误的次数

python - 对列出的列表使用 for/in 测试

移动数组元素的Python程序

django - 如何/在哪里停止支付失败时调用 Django Formwizards 'done' 方法

python - 模型继承和多态性问题

python - Python 中的实时中断