Пользовательская форма foreignkeyfield недействительна

Я создал сайт на основе постов и хочу, чтобы имя автора отображалось в посте. Это работает в админке при добавлении постов, но когда я пытаюсь загрузить пост с сайта, форма не проверяется, поэтому не сохраняется. Помогите, пожалуйста. модель :

from django.conf import settings

class MemeImg(models.Model):
    Title = models.CharField(max_length=500)
    op = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=None, blank=True, null=True)
    date_created = models.DateTimeField(auto_now_add=True)
    Post_Img = CloudinaryField('Post')

формирует :

class PostImg(forms.ModelForm):
    class Meta:
        model = MemeImg
        fields = ['Title', 'op', 'Post_Img']

просмотр :

@login_required(login_url='/login')
def post(request):
    func = data(request)
    if request.method == 'POST':
        form = PostImg(request.POST, request.FILES, instance=request.user)
        form.op = request.user
        if form.is_valid():
            print('success')
            posts = form.save(commit=False)
            posts.op = request.user
            form.save()
            return HttpResponseRedirect('https://youtu.be/dQw4w9WgXcQ')
        else:
            print("fail")
    form = PostImg(request)
    ctx = {
        'form': form,
        'url': func[0],
        'name': func[1],
        'date': func[2],
    }
    return render(request, 'Post.html', ctx)

и, наконец, шаблон страницы поста :

<form method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <div class="container">
        {{ form.Title|materializecss }}
        <div class="file-field input-field">
            <div class="btn">
                <span>File</span>
                <input type="file">
            </div>
            <div class="file-path-wrapper">
                {{ form.Post_Img }}
                <input class="file-path validate" type="text">
            </div>
        </div>
        <button class="btn waves-effect waves-light" type="submit" name="action">Submit
            <i class="material-icons right">send</i>
        </button>
    </div>
</form>

Если требуется дополнительный код, пожалуйста, прокомментируйте его Большое спасибо

Я думаю, что ваша проблема связана с экземпляром формы, который является instance=request.user, на самом деле этот экземпляр должен быть экземпляром объекта MemeImg, а не пользователем, что заставляет его не сохранять изображение. Поэтому я удалил этот экземпляр, а также я не знаю, для чего вы используете дополнительные контекстные переменные 'url': func[0], 'name': func[1], 'date': func[2], поэтому я удалил их, чтобы все было проще. Теперь, я думаю, вы сможете сохранить файл без каких-либо проблем.

@login_required(login_url='/login')
def post(request):
    if request.method == 'POST':
        form = PostImg(request.POST, request.FILES)
        if form.is_valid():
            print('success')
            data = form.save(commit=False)
            data.op = request.user
            form.save()
            return HttpResponseRedirect('https://youtu.be/dQw4w9WgXcQ')
        else:
            print("fail")
            form = PostImg(request.POST)
    ctx = {
        'form': form,
    }
    return render(request, 'Post.html', ctx)

Также ваша форма имела {{ form.Post_Img }}, что я не знаю, чего вы хотите добиться с помощью этих переменных, правильным способом является {{ form.as_p }} или просто вызов формы, как это {{ form }}, поэтому я сделал исправление в вашем HTML. too.

<form method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <div class="container">
        {{ form.Title|materializecss }}
        <div class="file-field input-field">
            <div class="btn">
                <span>File</span>
                <input type="file">
            </div>
            <div class="file-path-wrapper">
                {{ form }}
                <input class="file-path validate" type="text">
            </div>
        </div>
        <button class="btn waves-effect waves-light" type="submit" name="action">Submit
            <i class="material-icons right">send</i>
        </button>
    </div>
</form>
Вернуться на верх