我的购物车应用程序始终出现“FOREIGN KEY CONSTRAINT failed”错误,这是模型的问题吗?

问题描述 投票:0回答:1

所以我正在与一个小组合作尝试编写一种库。我们正在使用 django 创建 Web 应用程序,但我不断看到此错误发生。在此处输入图像描述

这是我在购物车应用程序中使用的模型:

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!')

当我尝试将东西添加到购物车并保存时,这种情况在管理面板中持续发生。从这里我应该做什么?电影是在 video_rental 应用程序中定义的,因此我从那里导入了模型。我想知道这个外键错误是什么以及如何让它工作。

我尝试通过更正模型文件来解决这个问题(我意识到模型中指定的用户是从未定义的用户,因此我再次导入了 video_rental 应用程序中使用的模型)。但这似乎不起作用。

python django django-models
1个回答
0
投票

会尝试在同一文件中定义作为外键引用的模型,特别是当 video_rental 是一个单独的 Django 应用程序时。

© www.soinside.com 2019 - 2024. All rights reserved.