'Django modelForm is not saving file to DB

Django 2.0 Python 3.6

I am having trouble with a Django form that is not saving the file that is selected through the form; whenever you select a file to upload, I receive the message "This Field is Required.".

I placed a blank=True and a null=True in the Model FileField to get rid of the same, but whenever I attempt to load the html, I get this error: "The 'copydoc' attirbute has no file associated with it."

I would like for a user to be able to log in, create an entry and upload a file along with said entry. Why doesn't the DB accept the file from the form?

Thank you.

views.py:

from django.shortcuts import render, redirect
from .models import notarizer, CustomUser, notarizerCreateForm
# from .forms import notarizerCreateForm
# Create your views here.

def home(request):
    t = 'home.html'
    return render(request, t)


def page1(request):
    t = 'log1/page1.html'
    if request.user.is_authenticated:
        logger = notarizer.objects.filter(userziptie=request.user).order_by('-date')
        return render(request, t, {'logger': logger})
    else:
        return redirect(home)


def create_entry(request):
    createPath = 'log1/create_entry.html'
    if request.method == 'POST':
        if request.method == 'FILES':
            form = notarizerCreateForm(request.POST, request.FILES)
            if form.is_valid():
                instance =notarizerCreateForm(
                                              file_field=request.FILES['file']
                                              ) 
                instance.save()
            else:
                print(form.errors)
        else:
            form = notarizerCreateForm(request.POST)
            if form.is_valid():
                form.save()
            else:
                print(form.errors)
    else:
        form = notarizerCreateForm()
    return render(request, createPath, {'form': form})

create_entry.html:

{% extends "base.html" %}
{% block placeholder1 %}
<div class="form-holder">
  <form name="form" enctype="multipart/form-data" method="POST" 
    action="/create_entry/" >
    {% csrf_token %}
      {{ form.as_table }}
     <input type="submit"/>
  </form>
</div>
{% endblock %}

models.py:

from django.db import models
from users.models import CustomUser
from django.forms import ModelForm

# Create your models here.

class notarizer(models.Model):
    date = models.DateField(auto_now_add=True)
    docName = models.CharField(max_length=25, null=False)
    describe = models.TextField(max_length=280)
    signee = models.CharField(max_length=25, null=False)
    signeeDets = models.TextField(max_length=280)
    copydoc = models.FileField(upload_to='users/', blank=True, null=True)
    userziptie = models.ForeignKey('users.CustomUser', 
on_delete=models.DO_NOTHING, null=True)


    def __str__(self):
        return "{0}\n{1}\n{2}\n{3}\n{4}\n{5}\n{6}".format(
                                                            self.pk,
                                                            self.date,
                                                            self.docName,
                                                            self.describe,
                                                            self.signee,
                                                            self.signeeDets,
                                                            self.userziptie
                                                            )


class notarizerCreateForm(ModelForm):
    class Meta:
        model = notarizer
        fields = ['docName','describe','signee','signeeDets', 'copydoc']


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source