Функция view выбрасывает исключение UnboundLocalError в /group/share/42/, когда пользователь пытается поделиться сообщением

Каким может быть ход этого исключения UnboundLocalError в /group/share/42/, когда я пытаюсь поделиться постом другого пользователя в группе.След исключения, кажется, находится в первой строке цикла forloop ( new = new_post.video.add(img) ). Вот мое представление для пользователей, чтобы поделиться постом


def share_post(request, pk):
    original_post = Post.objects.get(pk=pk)
    form = ShareForm(request.POST)
    if form.is_valid():
        new_post = Post(
            shared_body = request.POST.get('description'),
            description = original_post.description,
            username = original_post.username,
            date_posted = original_post.date_posted,
            shared_on = timezone.now(),
            shared_user = request.user)
        new_post.save()
    for img in original_post.video:
        shared  = new_post.video.add(img)
        shared.save()
    return redirect('group:main',original_post.group.pk)

Вот моя модель Post.

new_post будет присвоено значение только в том случае, если форма действительна, поэтому следует сделать отступ от цикла for:

def share_post(request, pk):
    original_post = Post.objects.get(pk=pk)
    form = ShareForm(request.POST)
    if form.is_valid():
        new_post = Post(
            shared_body = request.POST.get('description'),
            description = original_post.description,
            username = original_post.username,
            date_posted = original_post.date_posted,
            shared_on = timezone.now(),
            shared_user = request.user
        )
        new_post.save()
        for img in original_post.video:
            new_post.video.add(img)
    return redirect('group:main',original_post.group.pk)
Вернуться на верх