【发布时间】:2021-04-11 04:10:27
【问题描述】:
我正在寻找解决我的问题here,但它没有解决我的问题。
我想在用户注册时创建他们的个人资料。
要注册,我使用CreateView
class UserRegisterView(generic.CreateView):
form_class = SignUpForm
template_name = 'registration/register.html'
success_url = reverse_lazy('login')
#this method doesn't work and I get
# `Profile.user" must be a "User" instance`
def form_valid(self,form):
Profile.objects.create(user=self.request.user)
我的个人资料模型如下所示:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
#rest of fields like bio, social urls etc
我的主要观点是在他们创建帐户时自动创建用户的个人资料。 解决这个问题的最佳方法是什么?
【问题讨论】:
-
最好的方法?我建议使用这里提到的信号stackoverflow.com/a/57349227/4626254
标签: python django django-class-based-views