1
我使用Django 1.8和django-allauth。我使用自定義用戶模型。 我的用戶模型鏈接到組,所以我創建我的自定義用戶模型如下:django-allauth註冊表格中的用戶的外國模型
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
group = models.ForeignKey(Group)
正如你可以看到,一羣是必填字段創建一個新用戶時。
在註冊表格中,我將默認值放到組中。
class SignupForm(forms.Form):
group = Group.objects.get(name='default')
def signup(self, request, user):
user.group = group
user.save()
但是當我嘗試註冊時顯示錯誤。以下是錯誤:
IntegrityError at /accounts/signup/
(1048, "Column 'group_id' cannot be null")
Request Method: POST
Request URL: http://127.0.0.1:8000/accounts/signup/
Django Version: 1.8.3
Exception Type: IntegrityError
Exception Value:
(1048, "Column 'group_id' cannot be null")
所以我的問題是,如何在註冊時的必填字段「羣」保存到新用戶的組是在我的用戶模型必填字段。
Group.objects.get(name ='default')是否存在?那是你的整個SignupForm嗎?如果沒有,你可以發佈整個表格。 – user2719875
這是我的整個表格。我正在使用django-allauth。我只需要電子郵件地址和密碼即可註冊。電子郵件地址和密碼由Allauth自動處理。 – Joey
沒錯。感謝您更新帖子。問題是,Group.objects.get(name ='default')實際上是否存在?有沒有一個名稱爲'默認'的組? – user2719875