我一直在尝试使用django进行计算,但我不断遇到不同的错误。最近的一次是django中的Base10错误。
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)
型号.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)
amount = 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'),
谢谢你们的帮助和支持,非常感谢。祝你们有一个幸福的日子。
我在代码中看到的第一件事是,你没有检查你要查找的记录是否存在,你可以这样做:
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
如果它不起作用,请张贴一个完整的错误块