Как я могу добавить в свою модель данные, содержащие пользователя в качестве внешнего ключа, из пользовательской формы в django? - PullRequest
0 голосов
/ 20 ноября 2018

Здесь, когда я пытаюсь добавить новую заметку, когда пользователь вошел в систему, я хочу, чтобы в этой заметке было заполнено поле текущего пользователя.Поэтому я написал 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...