Home > Software design >  DJANGO: I have been trying do calculation in Views and call function whenever i click on a button
DJANGO: I have been trying do calculation in Views and call function whenever i click on a button

Time:04-11

Hello & Thank YOU For Helping ME. I have been trying to make calculations using django but i keep on hitting different errors. the latest one was Base 10 error in django.

VIEWS.PY

def subs(request, pk):
    sw = Swimmers.objects.filter(id=pk).values('sessions').first()
    sw_list =  sw
    sw_lists = sw  1
    return JsonResponse(sw_lists, safe=False)

MODEL.PY

class Swimmers(models.Model):
    name = models.CharField(max_length=200, blank=False)
    lastname = models.CharField(max_length=200, blank=False)
    idno = models.CharField(max_length=200, blank=False, null=True)
    sessions = models.IntegerField(blank=False)
    totalsessions = models.CharField(max_length=200, blank=False )
    dateofpayment = models.CharField(max_length=200, blank=False)
    phone = models.CharField(max_length=30, blank=False, null=True)
    date_from = models.DateField(null=True)
    date_to = models.DateField(null=True)
    type_choice = (
        ("basic", "Basic"),
        ("3x1 week", "3x1 Week"),
        ("1 session", "1 Session"),
        ("2x1", "2x1"),
    )
    type = models.CharField(max_length=200, blank=False, null=True, 
        choices=type_choice, default=type_choice)
    ammount = models.DecimalField(max_digits=6, decimal_places=2, blank=False, null=True)
    registration = models.DateField(default=timezone.now)
    keenphone = models.CharField(max_length=30, blank=False, null=True)

    def __str__(self):
        return self.name

URLS.PY

path('swimminglist/', views.SWGIndex.as_view(), name="swimminglist"),
path('create/', views.SWGCreateView.as_view(), name='create_swimmer'),
path('update/<int:pk>', views.SWGUpdateView.as_view(), name='update_swimmer'),
path('read/<int:pk>', views.SWGReadView.as_view(), name='read_swimmer'),
path('delete/<int:pk>', views.SWGDeleteView.as_view(), name='delete_swimmer'),
path('subt/<int:pk>', views.subs, name='subt'),

Thank You For The Help And Support Much Appreciate It. Have A Blessed Day You All.

CodePudding user response:

the first thing I see in your code is you are not checking if the record you are looking for exists or not you can do something like this:

if sw:
    sw_list =  sw
    sw_lists = sw  1

or the better way is:

from django.shortcuts import get_object_or_404
 ...
sw = get_object_or_404(Swimmers,id=pk).sessions

If it doesn't work please post a complete block of your error

  • Related