django: TypeError: 'tuple' object is not callable
217,171
Solution 1
You're missing comma (,
) inbetween:
>>> ((1,2) (2,3))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object is not callable
Put comma:
>>> ((1,2), (2,3))
((1, 2), (2, 3))
Solution 2
There is comma missing in your tuple.
insert the comma between the tuples as shown:
pack_size = (('1', '1'),('3', '3'),(b, b),(h, h),(d, d), (e, e),(r, r))
Do the same for all
Author by
RuSs
Updated on March 16, 2021Comments
-
RuSs over 3 years
Getting a type error, 'tuple' object is not callable. Any idea what it could be? (dont worry about the indentation. It copies in weird.) I'm trying to create choices based on PackSize of storeliquor.
Views.py:
def storeliquor(request, store_id, liquor_id): a = StoreLiquor.objects.get(StoreLiquorID=liquor_id) s = Store.objects.get(StoreID=store_id) x = Order.objects.get(storeID=s, Active=True) y = a.OffPremisePrice c = a.BottleSize g = request.POST.get('OrderAmount', '') b = a.PackSize h = b*2 d = b*3 e = b*4 r = b*5 if c == "1750 ML": pack_size = ( ('1', '1') ('3', '3') (b, b) (h, h) (d, d) (e, e) (r, r) ) elif c == "1000 ML": pack_size = ( ('1', '1') ('3', '3') ('6', '6') (b, b) (h, h) (d, d) (e, e) (r, r) ) elif c == "750 ML": pack_size = ( ('1', '1') ('3', '3') ('6', '6') (b, b) (h, h) (c, d) (e, e) (r, r) ) elif c == "375 ML": pack_size = ( ('3', '3') ('6', '6') ('12', '12') (b, b) (h, h) (d, d) (e, e) (r, r) ) elif c == "200 ML": pack_size = ( ('12', '24') ('24', '24') (b, b) (c, c) (c, d) (e, e) (r, r) ) else: pack_size = ( (b, b) (c, c) (c, d) (e, e) (r, r) ) if request.method == "POST": f = AddToOrderForm(request.POST) if f.is_valid(): z = f.save(commit=False) z.TotalPrice = (float(y)) * (float(g)) z.storeliquorID = a z.orderID = x z.save() return HttpResponseRedirect('/stores/get/%s' % store_id) else: f = AddToOrderForm() f.fields['OrderAmount'].choices = pack_size args = {} args['liquor'] = a args['s'] = s args['form'] = f return render(request,'storeliquor.html', args)
Models file:
class LiquorOrder(models.Model): LiquorOrderID = models.AutoField(primary_key=True) storeliquorID = models.ForeignKey(StoreLiquor) orderID = models.ForeignKey(Order) OrderAmount = models.CharField('Order Amount', max_length=3) TotalPrice = models.DecimalField('Total Price', max_digits=5, decimal_places=2) StorePrice = models.DecimalField('Store Price', max_digits=5, decimal_places=2)
Forms file:
class AddToOrderForm(forms.ModelForm): class Meta: model = LiquorOrder fields = ('OrderAmount', 'StorePrice')