Я, вероятно, отсутствует что-то очевидное здесь, но я получаю следующее сообщение об ошибке:Джанго allauth пользовательских регистрационная форма ошибка: объект «учреждение» не Iterable
'Institution' object is not iterable
Он не любит эту строку в код:
user.institution = institution
Вот полный класс SignupForm для Django allauth:
class SignupForm(forms.Form):
first_name = forms.CharField(
max_length=255,
label="Your First Name",
)
last_name = forms.CharField(
max_length=255,
label="Your Last Name",
)
institution = forms.ModelChoiceField(
label="Your Institution",
queryset=Institution.objects.all(),
empty_label="Other Institution Not Listed",
)
def signup(self, request, user):
from pprint import pprint
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.institution = self.cleaned_data['institution']
user.save()
Я проверил self.cleaned_data
, и это, как представляется, минуя учреждение правильно:
{'email': '[email protected]',
'first_name': 'John',
'institution': <Institution: Blah College>,
'last_name': 'Doe'}
Я использую пользовательскую модель пользователя и учреждением является много-ко-многим:
institution = models.ManyToManyField(Institution, db_index=True)
Любых идей? Что я здесь делаю неправильно?
Gah, есть. Смотрю прямо на меня в лицо. Спасибо! – FlipperPA