Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Cannot create Django user due to UserProfile creation throwing IntegrityError
- class UserProfile(models.Model):
- user = models.OneToOneField(User)
- age = models.DateField()
- city = models.CharField(max_length=30)
- state = models.CharField(max_length=20)
- country = models.CharField(max_length=30)
- primary_language = models.CharField(max_length=30)
- secondary_language = models.CharField(max_length=30, blank=True, null=True)
- tertiary_language = models.CharField(max_length=30, blank=True, null=True)
- def create_user_profile(sender, instance, created, **kwargs):
- if created:
- UserProfile.objects.create(user=instance)
- post_save.connect(create_user_profile, sender=User)
- def create_user_and_profile(request):
- form = RegistrationForm(request.POST)
- if form.is_valid():
- # User is saved to DB here
- user = User.objects.create_user(
- username = form.cleaned_data['username'],
- password = form.cleaned_data['password1'],
- email = form.cleaned_data['email']
- )
- user.first_name = form.cleaned_data['first_name']
- user.last_name = form.cleaned_data['last_name']
- user.save()
- # TODO remaining user creation code goes here
- profile = user.get_profile()
- profile.age = form.cleaned_data['age'],
- profile.city = form.cleaned_data['city'],
- profile.state = form.cleaned_data['state'],
- profile.country = form.cleaned_data['country'],
- profile.primary_language = form.cleaned_data['primary_language'],
- profile.secondary_language = form.cleaned_data['secondary_language'],
- profile.tertiary_language = form.cleaned_data['tertiary_language']
- profile.save()
- return user
- else:
- variables = RequestContext(request, {'form': form})
- return render_to_response('registration/register.html', variables)
- profile.first_name = 'abc'
- profile.last_name = 'abc'
- profile.age = Date(2000, 1, 1)
- profile.save()
- age = models.DateField()
- age = models.DateField(null=True)
Add Comment
Please, Sign In to add comment