问题描述
我制作了一个自定义帐户适配器,该适配器正在处理我的signupform中多余字段的保存并将用户设置为非活动状态。然后,将用户保存在数据库中后,我想自动创建一个用户个人资料,他/她可以在其中存储有关他自己的其他信息。我正在使用Allauth文档中的user_signed_up信号,一切似乎都很好,但出现以下错误:
/ signup /'bedrijf'中的KeyError
型号:
class bedrijf(AbstractBaseUser,PermissionsMixin):
email = models.EmailField(_('email address'),unique=True)
bedrijfsnaam = models.CharField(max_length=80,null=True)
class bedrijfProfiel(models.Model):
bedrijf = models.ForeignKey(bedrijf,on_delete=models.CASCADE)
adres = models.CharField(max_length=100,null=True,blank=True)
自定义适配器:
class UserAccountAdapter(DefaultAccountAdapter):
def save_user(self,request,bedrijf,form,commit=True):
user = super(UserAccountAdapter,self).save_user(request,commit=False)
user.bedrijfsnaam = form.cleaned_data.get('bedrijfsnaam')
user.is_active = False
user.save()
return user
@receiver(user_signed_up)
def create_profile(sender,user,**kwargs):
p = bedrijfProfiel(user=kwargs['bedrijf'])
p.save()
有人建议解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)