【发布时间】:2021-03-03 07:54:05
【问题描述】:
它给了我这个错误,我一生都无法理解为什么:
我有一个从 django-allauth SignupForm 扩展而来的表单...
class LearnerSignupForm(SignupForm):
first_name = forms.CharField(max_length=40, required=True)
last_name = forms.CharField(max_length=40, required=True)
在 allauth 注册视图中调用表单...
class LearnerSignupView(SignupView):
form_class = LearnerSignupForm
success_url = reverse_lazy('users:redirect_profile_mixin')
视图重定向到一个 mixin(它扩展了 RedirectView,它从请求中获取经过身份验证的用户,并将连接重定向到传递参数 user.id 的 UpdateView..
class LearnerUpdateView(UpdateView):
model = User
form_class = UserForm
formset_Class = LearnerFormSet
template_name = "formset_edit_learner.html"
success_url = "home"
def get_context_data(self, **kwargs):
context = super(LearnerUpdateView, self).get_context_data(**kwargs)
qs = Learner.objects.get_or_create(user=self.request.user)
formset = LearnerFormSet(queryset=qs)
context["learner_formset"] = formset
return context
然后终于到了UpdateView。正是在这一点上,我得到了错误
“元组”对象没有“有序”属性
和
异常位置:C:\Users\aless.virtualenvs\hs_03-LQeWV4ia\lib\site-packages\django\forms\models.py,第 639 行,在 get_queryset 中
我知道我可能正在做一些非常愚蠢的事情,但我就是看不到。我提前感谢谁可以提供一些建议!
【问题讨论】:
-
get_or_create 方法返回一个 (object, created) 元组,这就是您尝试用作查询集的内容。
标签: django django-views django-allauth