Derek,
Ok...I made the change and I'm now getting the error:
TypeError at /rugs/cart/1/4/
unsupported operand type(s) for +: 'int' and 'Price'
Is 'a['choice'].price' not an Int? It says it is in my model file.
////////////////////////////////////
Here is my view
def showcart(request, style_id, choice_id):
s = Style.objects.get(id=style_id)
c = Choice.objects.get(id=choice_id)
#x = c.size, " ", c.price
cart = request.session.get('cart', [])
cart.append({'style': s, 'choice': c})
request.session['cart'] = cart
pr = 0
for a in cart:
pr = pr + a['choice'].price
return render_to_response('show_test.html', {'mychoice': cart, 'p':
pr})
/////////////////
Here is my template file:
{% extends "rug_leftnav.html" %}
{% block body %}
{% for a in mychoice %}
{{ a.style.manufacturer }} - {{ a.style.collection }} - {{ a.style }}
- {{ a.choice.size }} - ${{ a.choice.price }}.00
<br>
{% endfor %}
{{ p }}
{% endblock %}
//////////////
Here are some of my model classes:
class Size(models.Model):
name = models.CharField(maxlength=100)
def __str__(self,):
return self.name
class Admin:
pass
class Price(models.Model):
name = models.IntegerField()
def __str__(self,):
return str(self.name)
class Admin:
pass
class Choice(models.Model):
choice = models.ForeignKey(Collection, edit_inline=models.TABULAR,
num_in_admin=5)
size = models.ForeignKey(Size, core=True)
price = models.ForeignKey(Price, core=True)
def __str__(self,):
return str((self.size, self.price))
class Style(models.Model):
name = models.CharField(maxlength=200)
color = models.CharField(maxlength=100)
image = models.ImageField(upload_to='site_media/')
theslug = models.SlugField(prepopulate_from=('name',))
manufacturer = models.ForeignKey(Manufacturer)
collection = models.ForeignKey(Collection)
sandp = models.ManyToManyField(Choice)
class Admin:
search_fields = ['name']
list_filter = ('collection',)
list_display = ('name', 'theslug','collection', 'rmanu')
js = (
'/site_media/ajax_yahoo.js',
)
def __str__(self,):
return self.name
def rmanu(self):
return self.collection.manufacturer
//////////////////////
Thanks for your help Derek
On Jul 19, 4:46 pm, Derek Anderson <[EMAIL PROTECTED]> wrote:
> you were supposed to substitute "value" with whatever column you have
> defined. (you didn't post your model def)
>
> Greg wrote:
> > Derek,
> > I tried that and now I get the following error:
>
> > AttributeError at /rugs/cart/1/4/
> > 'Choice' object has no attribute 'value'
>
> > /////////////
>
> > Here is my view
>
> > def showcart(request, style_id, choice_id):
> > s = Style.objects.get(id=style_id)
> > c = Choice.objects.get(id=choice_id)
> > #x = c.size, " ", c.price
> > cart = request.session.get('cart', [])
> > cart.append({'style': s, 'choice': c})
> > request.session['cart'] = cart
> > pr = 0
> > for a in cart:
> > pr = pr + a['choice'].value
> > return render_to_response('show_test.html', {'mychoice': cart, 'p':
> > pr})
>
> > /////////
>
> > On Jul 19, 4:22 pm, Derek Anderson <[EMAIL PROTECTED]> wrote:
> >> you're not adding two ints, you're adding an int to an instance of your
> >> Choice class. make your line:
>
> >> pr = pr + a['choice'].value
>
> >> or whatever you called it.
>
> >> Greg wrote:
> >>> Hello,
> >>> I have the following view
> >>> def showcart(request, style_id, choice_id):
> >>> s = Style.objects.get(id=style_id)
> >>> c = Choice.objects.get(id=choice_id)
> >>> cart = request.session.get('cart', [])
> >>> cart.append({'style': s, 'choice': c})
> >>> request.session['cart'] = cart
> >>> pr = 0
> >>> for a in cart:
> >>> pr = pr + a['choice']
> >>> return render_to_response('show_test.html', {'mychoice': cart,
> >>> 'p': pr})
> >>> /////////
> >>> Whenever i try this I get the error:
> >>> TypeError at /rugs/cart/1/4/
> >>> unsupported operand type(s) for +: 'int' and 'Choice'
> >>> //////////////////////////
> >>> Anybody know how I pull a value out of a dict and add it to a existing
> >>> number?
> >>> Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---