Django множественная загрузка, добавление пользователя - PullRequest
0 голосов
/ 27 сентября 2019

на основе этого примера я пытаюсь добавить пользователя https://github.com/Chive/django-multiupload

Я изменил модель на:

class Attachment(models.Model):
    file = models.FileField(upload_to='attachments')
    timestamp = models.DateTimeField(auto_now_add=True)
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

И просмотр:

class UploadView(FormView):
    template_name = 'upload/attachment_form.html'
    form_class = UploadForm

    def form_valid(self, form):
        form.instance.user = self.request.user.id
        for each in form.cleaned_data['attachments']:
            Attachment.objects.create(file=each)
        return super(UploadView, self).form_valid(form)
        #return super().form_valid(form)

И я получаю эту ошибку:

У объекта 'UploadForm' нет атрибута 'instance'

Но как я могу сохранить идентификатор пользователя также в модели?

- обновлено -

class UploadForm(forms.Form):
    attachments = MultiFileField(min_num=1, max_num=3, max_file_size=1024*1024*5)

1 Ответ

0 голосов
/ 28 сентября 2019

Я нашел решение

class UploadView(FormView):
    template_name = 'upload/attachment_form.html'
    form_class = UploadForm

    def form_valid(self, form):
        for each in form.cleaned_data['attachments']:
            Attachment.objects.create(
                file=each,
                user=self.request.user
            )

        return super(UploadView, self).form_valid(form)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...