Python Forum
RelatedObjectDoesNotExist: User has no profile. Django 1.11
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RelatedObjectDoesNotExist: User has no profile. Django 1.11
#1
After registration I get error. In admin page I see, that user is created, but profile doesn't exist.
I see, that user has attribute profile, but when I want to see dir(user.profile), I don't nothing see.
Sory for my bad english Rolleyes

forms.py

from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User

class SignupForm(UserCreationForm):
    phone = forms.CharField()
    fax = forms.CharField(required=False)

    class Meta:
        model = User
        fields = ('username','first_name', 'phone', 'fax', 'password1', 'password2')
views.py

def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST, request.FILES)
        if form.is_valid():
            phone = form.cleaned_data.get('phone')
            fax = form.cleaned_data.get('fax')

            user = form.save(commit=False)
            user.is_active = False
            user.save()

            #Here is the error
            profile = user.profile
            profile.phone = phone
            profile.fax = fax
            profile.save()
    else:
        form = SignupForm()
models.py

class Profile(models.Model):
    user = models.OneToOneField(User)
    phone = models.CharField(max_length=40, verbose_name='Phone')
    fax = models.CharField(max_length=40, verbose_name='Fax', blank=True, null=True)

signals.py


@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
    instance.profile.save()
apps.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.apps import AppConfig


class ProfilesConfig(AppConfig):
    name = 'profiles'

        def ready(self):
	    import profiles.signals
Reply
#2
I decided. Changed profile = user.profile to

profile = Profile()
profile.user = user
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to profile tornado web app ? umen 2 967 Oct-09-2023, 05:59 PM
Last Post: noisefloor
  Knowing User's Connection Type in Django Dexty 2 1,583 Apr-27-2022, 11:54 AM
Last Post: Dexty
  register the user as staff member - django rwahdan 0 1,484 Dec-24-2021, 03:08 PM
Last Post: rwahdan
  Send email to gmail after user fill up contact form and getting django database updat Man_from_India 0 2,103 Jan-22-2020, 03:59 PM
Last Post: Man_from_India
  Django: How to automatically substitute a variable in the admin page at Django 1.11? m0ntecr1st0 3 3,303 Jun-30-2019, 12:21 AM
Last Post: scidam
  sending email from admin to user in django anjana 0 3,251 Jun-07-2019, 12:01 PM
Last Post: anjana
  About .profile and ImportError: No module named RicardoAbdala 1 3,139 Aug-28-2018, 05:32 AM
Last Post: buran
  Django packages for website with paid user accounts jmarchini 2 3,531 Jan-08-2018, 09:10 AM
Last Post: SarbjitGrewal
  I need request POST for Facebook in My Profile Kalet 4 4,294 Sep-27-2017, 05:53 PM
Last Post: Kalet
  Saving username as first name while adding user in django admin prithvi 0 4,403 Aug-10-2017, 06:50 PM
Last Post: prithvi

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020