DJANGO: Я пытался сделать вычисления в Views и вызывать функцию каждый раз, когда я нажимаю на кнопку.

Здравствуйте и спасибо, что помогли мне. Я пытался сделать вычисления с помощью django, но я продолжаю сталкиваться с различными ошибками. последней была ошибка Base 10 в 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'),

Спасибо за помощь и поддержку, очень ценю это. Have a Blessed Day You All.

Первое, что я вижу в вашем коде - вы не проверяете, существует ли искомая запись или нет, вы можете сделать что-то вроде этого:

if sw:
    sw_list =  sw
    sw_lists = sw +1

или лучший способ:

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

Если это не работает, пожалуйста, опубликуйте полный блок вашей ошибки

Вернуться на верх