Не удается заставить Django загружать файлы (UPDATE: РЕШЕНО)

Я прочитал много вопросов, следовал документации Django, искал ответы в гугле, но не могу загрузить файл в моем приложении Django.

Ошибки нет, form.clean_data показывает файл и другое поле внешнего ключа, но нет загрузки в папку media и нет записи в моей базе данных.

Я не могу понять, что я упускаю. Любая помощь будет очень признательна.

#models.py
class ReportFile(models.Model):
    report = models.ForeignKey(Report, on_delete=models.CASCADE)
    file = models.FileField(upload_to='files/reports')
    uploaded = models.DateTimeField(auto_now_add=True)
    uploaded_by = models.ForeignKey(User, on_delete=models.CASCADE)
    
    def save(self, *args, **kwargs):        
    
        user = get_current_user()
        if user and not user.pk:
            user = None
        if not self.pk:
            self.creado_por = user
###UPDATE: As Iain Shelvington kindly pointed out, I was missing the call to super.
        super(ReportFile, self).save(*args, **kwargs)



#forms.py
class FileForm(forms.ModelForm): 
    class Meta:                
        model = ReportFile
        fields = ['file','report']

Это представление я использую, основываясь на том, что я прочитал

#views.py
def CreateFile(request):
  if request.method == 'POST':
    form = FileForm(request.POST,request.FILES)
    if form.is_valid():
        form.save()
        
        print(form.cleaned_data)
#OUTPUT: HTTP POST /file 200 [0.09, 127.0.0.1:59053] 
#        {'file': <InMemoryUploadedFile: test-image.png (image/png)>, 'report': <Report: 49>}
        return render(request, 'segcom/file_upload.html', {'form': form,})
  else:
    form = FileForm()
    context = {
        'form':form,
    }
return render(request, 'segcom/file_upload.html', context)

Соответствующие настройки, о которых я знаю

 #settings.py
# Media Root
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'

Вот шаблон, который я использую

{% extends "layouts/base.html" %}
{% load crispy_forms_tags %}

{% block title %} File Upload Test {% endblock %} 

<!-- Specific CSS goes HERE -->
{% block stylesheets %}{% endblock stylesheets %}

{% block content %}
                <div class="row">
                    {{ form.non_field_errors }}
                    <form method = 'post' action="{% url 'file_upload' %}" id="report-form" enctype="multipart/form-data">
                        {% csrf_token %}
                        {{form|crispy}}
                        <div class="modal-footer">
                            <button type="submit" form="report-form" class="btn btn-primary">Guardar</button>
                        </div>
                    </form>
                </div>
{% endblock content %}

<!-- Specific Page JS goes HERE  -->
{% block javascripts %}


{% endblock javascripts %}
Вернуться на верх