profile page and new user will not save

111 views
Skip to first unread message

Delvin Alexander

unread,
Feb 23, 2022, 12:21:38 AM2/23/22
to Django users
Hello Everyone,

I am having trouble saving a new profile, and user when they are created. Upon creating a new user and profile, i get this:

"TypeError: Profile.save() got an unexpected keyword argument 'force_insert'"

Would anyone know why this is popping up for me????


Here is my work for that particular page as well.

from django.shortcuts import render, redirect
from django.contrib import messages
from .forms import UserRegisterForm, UserUpdateForm, ProfileUpdateForm
from django.contrib.auth.decorators import login_required


def register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            messages.success(request, f'Your Account has been created you are now able to log in {username}!')
            return redirect('login')
    else:
        form = UserRegisterForm()
    return render(request, 'users/register.html', {'form': form})

@login_required
def profile(request):
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, f'Your Account has been updated!')
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)
   
    context = {
        'u_form': u_form,
        'p_form': p_form,
    }
   
    return render(request, 'users/profile.html', context)

Omkar Parab

unread,
Feb 23, 2022, 4:28:58 AM2/23/22
to django...@googlegroups.com
Something went wrong with the signals. Paste your signals.py file. 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/39c57e72-9e09-403e-97db-562ef943db4an%40googlegroups.com.

Delvin Alexander

unread,
Mar 9, 2022, 10:21:28 PM3/9/22
to Django users
Sorry for the late reply, but here is my signlay.py file

from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver
from .models import Profile


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

Reply all
Reply to author
Forward
0 new messages