2015-08-10 1 views
1
error: 
ValueError at /productcatalog/ 

Cannot assign "1L": "CartItem.user" must be a "User" instance. 

Je suis en train de résoudre une erreur que je reçois en essayant de voir certaines pages (localement)dépannage d'une erreur de valeur en Python Django

Je ne sais pas ce que je suis absent et ma trace semble pointer vers une ligne en particulier dans l'une de mes vues:

def index(request): 
product = Product.objects.all()[:5] 
category = Category.objects.all() 
basket, created = CartItem.objects.get_or_create(status=0, user=request.user.id) 
return render_to_response('index.html', {'category': category, 
          "product": product, 'basket': basket}, 
          RequestContext(request)) 

spécifiquement ligne

basket, created = CartItem.objects.get_or_create(status=0, user=request.user.id) 

Voici mes importations Views.py:

from django.shortcuts import render_to_response 
from django.template import RequestContext 
from productcatalog.models import Product, Category, Manufacturer 
from django.conf import settings 
from basket.models import CartItem 

Quelqu'un peut voir où je me suis trompé?

+0

Le message d'erreur est tout à fait clair. Django veut une instance de votre classe User et non le numéro 1. 1 n'est pas une instance de User, c'est un nombre. Vous devez passer dans une instance d'un utilisateur. – duffn

Répondre

0

Utilisation user=request.user au lieu de user=request.user.id

+0

Merci, travaillé comme un charme. – AaronC