我目前正在Django写一个网络应用程序进行采访。
在主页上,我希望有3个不同数据列表。
这是我在加载主页时收到的错误:
invalid literal for int() with base 10: 'Critical'
这是models.py:
from django.db import models
from django.utils import timezone
class Status(models.Model):
status_level=models.CharField(max_length=15)
def __str__(self):
return self.status_level
class Event(models.Model):
event_status=models.ForeignKey(Status)
event_title=models.CharField(max_length=50)
event_description=models.CharField(max_length=500)
event_flag=models.CharField(max_length=10)
date_active=models.DateField(default=timezone.now())
time_active=models.TimeField(default=timezone.now())
def __str__(self):
return self.event_title
目前有3个状态对象,严重,中等和低。
Views.py:
def index(request):
# home page
critical_list=Event.objects.filter(event_status='Critical')
medium_list=Event.objects.filter(event_status='Medium')
low_list=Event.objects.filter(event_status='Low')
context_dict={'critical':critical_list, 'medium':medium_list,'low':low_list}
return render(request, 'server_status/index.html',context_dict)
有很多堆栈跟踪,所以我将发布我认为导致问题的两个相关行:
此行发生错误:
critical_list=Event.objects.filter(event_status='Critical')
然后是堆栈跟踪的最后一行:
return int(value) ...
▼ Local vars
Variable Value
self
<django.db.models.fields.AutoField: id>
value
'Critical'
答案 0 :(得分:4)
由于您似乎试图过滤状态模型上的status_level
critical_list=Event.objects.filter(event_status__status_level='Critical')