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