Я создал модель для зарегистрированных пользователей и добавил в нее поле обратной связи. Мне нужно разрешить зарегистрированным пользователям оставлять отзывы и обновлять их в модели, но это не так. Вместо этого он создается как новая запись с первичным ключом.
модель для регистра
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE, default=None, null=True)
role = models.CharField(max_length=50, choices=Roles, default='client')
feedback = models.TextField(max_length=500,blank=True)
verified =models.BooleanField(default = False,blank=True)
def __str__(self):
return self.user.username
Форма для обратной связи:
class FeedbackForm(forms.ModelForm):
class Meta():
model = UserProfile
fields = ('feedback',)
просмотр для обратной связи:
@login_required
def feedback(request):
if request.method == "POST":
form = FeedbackForm(request.POST)
else:
form = FeedbackForm()
if form.is_valid():
userprofile=form.save(request)
userprofile.save()
else:
form = FeedbackForm()
return render(request, 'NewApp/feedback.html',{'form':form})