У меня две модели
class User(auth.models.User,auth.models.PermissionsMixin):
def __str__(self):
return "@{}".format(self.username)
class Profile(models.Model):
user = models.OneToOneField(User,default=None,
null=True,on_delete=models.CASCADE,)
name = models.CharField(max_length=128) #actual creator's name
В форм.пи
class ProfileForm(forms.ModelForm):
class Meta:
exclude = ['user']
# fields = '__all__'
model = models.Profile
В views.py
def TestPage(request):
form = ProfileForm
if request.method == "POST":
form = ProfileForm(request.POST)
if form.is_valid():
form_instance=form.save(commit=False)
form_instance.user = request.user
form_instance.save()
return render(request,'test.html')
else:
print('ERROR FORM INVALID')
return render(request,'accounts/update_profile.html',{'form':form})
Я думаю, что есть проблема со строкой form_instance.user = request.user. Я получаю сообщение об ошибке. Не удается назначить «>»: «Profile.user» должен быть экземпляром «User». В Profile.user я хочу сохранить текущего пользователя. Может ли кто-нибудь помочь мне с этим? Благодаря.