私はdjangoを初めて使用し、UserオブジェクトをModelFormに渡してから検証するようにしています。つまり、最後に User オブジェクトを ForeignKey として Note オブジェクトに追加します。ここで、ModelForm はクラス Note のメタです。
私のforms.py:
class NoteForm(ModelForm):
class Meta:
model = Note
私のviews.py:
def addNote(request):
if request.method == 'POST':
user = User.objects.get(username=request.POST['user'])
model_form = NoteForm(request.POST, request.FILES, user)
if model_form.is_valid():
model_form.save()
return HttpResponseRedirect(reverse('index'))
return HttpResponse('De indtastede data er ikke gyldige')
return render(request, 'studies/uploadfile.html')
私のtemplate.html:
<form enctype="multipart/form-data" method="post" action="/notes/add/">
Note Title: <input type="text" name="name" /> <br />
Select Note: <input type="file" name="note" /> <br />
<input type="hidden" name="user" value="{{ user.id }}">
<input type="submit" value="submit" />
{% csrf_token %}
</form>
現在のユーザーをログオンさせ、そのユーザーをForreignKeyとして追加しようとしているため、request.userを使用してみました。事前に感謝します。