Задать вопрос
@maniacus26

Как загрузить файл в Django, связав его с конкретной записью в БД?

Добрый день!
Есть модель blog с полями id, text, ... , docfile

docfile = models.FileField(upload_to='documents', blank=True)


Мне необходим привязать файл к существующей записи в blog.
Просто файлы грузятся, но я не могу их привязать к конкретной записи, т.е. в БД появляется новая (пустая) запись в которой есть id и docfile (с корректной привязкой к загруженному файлу)

Делал по мануалу https://docs.djangoproject.com/en/2.1/topics/http/...

forms.py

class FileUploadForm (forms.ModelForm):
    class Meta:
        model = blog
        fields = ('docfile',)
        docfile = forms.FileField()


view.py
def blog_upload (request, pk):
    if request.method == 'POST':
        form = FileUploadForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/success/url/')
    else:
        form = FileUploadForm()
    return render(request, 'upload_doc.html', {'form': form})


в функцию blog_upload (request, pk) передаю pk (primary key) записи в которою надо добавить файл.
но как эту информацию правильно использовать - непойму.
  • Вопрос задан
  • 198 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы