У меня постоянная ошибка 'FOREIGN KEY CONSTRAINT failed' в приложении корзины, это проблема с моделями?

Я работаю с группой, пытающейся создать некую библиотеку. Мы используем django для создания веб-приложения, но я постоянно вижу, что возникает эта ошибка. введите описание изображения здесь

Вот модель, которую я использую в приложении "Корзина":

from django.db import models
from video_rental.models import Movie, CustomUser
from django.conf import settings

class CartItem(models.Model):
    movie = models.ForeignKey(Movie, on_delete=models.CASCADE)
    quantity = models.PositiveIntegerField(default=0)
    user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f'{self.quantity} x {self.movie.title}'

Вот мнения:

from django.shortcuts import render
from django.shortcuts import render, redirect
from .models import CartItem
from video_rental.models import Movie

def movie_list(request):
    movies = Movie.objects.all()
    return render(request, 'myapp/index.html', {'products': movies})

def view_cart(request):
    cart_items = CartItem.objects.filter(user=request.user)
    return render(request, 'myapp/cart.html', {'cart_items': cart_items})

def add_to_cart(request, title):
    movie= Movie.objects.get(title=title)
    cart_item, created = CartItem.objects.get_or_create(movie=movie, user=request.user)
    cart_item.quantity += 1
    cart_item.save()
    return redirect('cart:view_cart')

def remove_from_cart(request, title):
    cart_item = CartItem.objects.get(title=title)
    cart_item.delete()
    return redirect('cart:view_cart')


def home(request):
    return HttpResponse('Hello, World!')

Это постоянно происходит в панели администратора, когда я пытаюсь добавить вещи в корзину и сохранить ее. Что мне делать дальше? Movie определен в приложении video_rental, поэтому я импортировал модель оттуда. Мне интересно, что это за ошибка Foreign Key и как я могу заставить ее работать.

Я пробовал решить эту проблему, исправив файл модели (я понял, что пользователь, указанный в модели, был пользователем, который никогда не был определен, поэтому я снова импортировал модель, которая использовалась в приложении video_rental). Однако это, похоже, не помогло.

Попробуйте определить модели, на которые ссылается внешний ключ, в том же файле video_rental.models. Если video_rental является отдельным приложением Django, то это поддерживается, см. этот пост Foreign key from one app into another in Django. Синтаксис для передачи в class.

Вернуться на верх