Здесь, когда я пытаюсь добавить новую заметку, когда пользователь вошел в систему, я хочу, чтобы в этой заметке было заполнено поле текущего пользователя.Поэтому я написал user=request.user
Но возникает ошибка: не удалось выполнить уникальное ограничение: mynotes_note.user_id Вот мои файлы:
models.py
class Note(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
title = models.CharField(max_length=50)
desc = models.TextField()
def __str__(self):
return self.title
addForm.py
from django import forms
class addForm(forms.Form):
title = forms.CharField(max_length=50,
widget=forms.TextInput(attrs={
'class':'form-control'
}))
desc = forms.CharField(widget=forms.TextInput(attrs={
'class':'form-control'
}))
Здесь я использовал этот способ вместо использования мета-класса, чтобы применить некоторые эффекты начальной загрузки к полям формы
views.py
def addView(request):
if request.user.is_active:
if request.method=="POST":
form=addForm(request.POST)
if form.is_valid():
newNote = Note(user=request.user,title=request.POST['title'],desc=request.POST['desc'])
newNote.save()
return redirect('home')
else:
form=addForm()
args={'form':form}
return render(request,'mynotes/add.html',args)
else:
return redirect('home')