Skip to content Skip to sidebar Skip to footer

I Am Unable To Update Two Models At The Same Time In Django Views.py

I already ask questions related to this at How can I update first_name, last_name & email of Django model User and update other field in separate models But I'm not getting a p

Solution 1:

class Account(models.Model):

    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)

    # This field is used for to update django model User
    first_name=models.CharField(max_length=30, null=True, blank=False)
    last_name=models.CharField(max_length=30, null=True, blank=False)
    email = models.EmailField(max_length=30, null=True, blank=True)

    profile_photo = models.ImageField(upload_to='profile', null=True)
    mobile_number = models.PositiveBigIntegerField(null=True)
    date_of_birth = models.DateField(auto_now_add=False, auto_now=False, null= True)
    zip_code = models.IntegerField(null=True)
    address = models.CharField(max_length=225, null=True)
    website = models.URLField(max_length=100, null=True)
    bio = models.CharField(max_length=225, null=True)

def profileSettingsPage(request, pid):
    form = AccountForm()
    if request.method == 'POST':
        user = User.objects.get(id=pid)
        user.first_name = request.POST.get('first_name')
        user.last_name = request.POST.get('last_name')
        user.email = request.POST.get('email')
        user.save()
        instance = Account.objects.get(user=user)
        form = AccountForm(request.POST, request.FILES,instance=instance)
        if form.is_valid():
            form.save()
            messages.success(request, 'Profile saved.')
        else:
            messages.warning(request, 'Faile to saved profile')
    context = {'form':form}
    return render(request, 'profile-settings.html', context)

Post a Comment for "I Am Unable To Update Two Models At The Same Time In Django Views.py"