Django - Невозможно найти объект с помощью pk (Соответствующий запрос DoesNotExist)

Когда я пытаюсь создать "Тур" для "Пользователя", я получаю эту ошибку: "DoesNotExist at /add-tour/FAjK5CryF8/ - User matching query does not exist."

Конкретно проблемы возникают из-за этой строки кода:

user = User.objects.get(pk=pk)

models.py

class Tour(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    tour_date = models.DateField(default=date.today)
    tour_fans = models.ForeignKey(FanAccount, on_delete=models.PROTECT)

    def __str__(self):
        return f"{self.user} del {self.tour_date}"

views.py

def tour_new(request, pk):
    user = User.objects.get(pk=pk)
    if request.method == "POST":
        form = TourForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.tour_fans = request.user
            form.instance.user = user
            instance.save()
            form.save()
            return render(request, "tour.html", {"form": TourForm(), "success": True})
    else:
        form = TourForm()
    return render(request, "tour.html", {"form": form})

Для "User" я использую пользовательский первичный ключ (ShortUUID). Я новичок в Python и Django, так что это может быть что-то легко решаемое, но после нескольких часов попыток я, кажется, не могу решить эту проблему.

Вам нужно убедиться, что экземпляр пользователя существует, поэтому вместо user = User.objects.get(pk=pk)вызова user = get_object_or_404(User, pk=pk), нужно передать user как экземпляр:

if request.method == "POST":
   form = TourForm(request.POST, instance=user)
Вернуться на верх