获取具有特定状态的对象总数
Get the total count of object with specific status
正在尝试获取要显示在主页上的对象总数。
这是我的代码
def dashboard(request):
total_issues = Issue.objects.all().count()
open_issues = Issue.objects.filter(mark_as='Open').count()
closed_issues = Issue.objects.filter(mark_as='Closed').count()
context = {'ordered_issues': ordered_issues,
'total_issues': total_issues,
'open_issues': open_issues,
'closed_issues': closed_issues}
return render(request, 'issues/total_issues.html', context)
和我的模特
class Issue(models.Model):
MARK_AS = ((True, 'Open'), (False, 'Closed'))
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
assignee = models.ForeignKey(Profile, on_delete=models.SET_NULL, null=True, blank=True)
mark_as = models.BooleanField(choices=MARK_AS, default=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('issue-detail', kwargs={'pk': self.pk})
没有输出
此代码是模板 'issues/total_issues.html
<div class="row">
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="total_issues">
<div class="card-header">
<h5 class="card-title">Total Issues</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{total_issues}}</h3>
</div>
</div>
</div>
</div>
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="open_issues">
<div class="card-header">
<h5 class="card-title">Open</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{open_issues}}</h3>
</div>
</div>
</div>
</div>
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="closed_issues">
<div class="card-header">
<h5 class="card-title">Closed</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{closed_issues}}</h3>
</div>
</div>
</div>
</div>
</div>
我做错了什么?
忽略这部分
我写这篇文章是因为显然代码太多而细节不够
忽略这部分
我写这篇文章是因为显然代码太多而细节不够
忽略这部分
我写这篇文章是因为显然代码太多而细节不够
虽然 mark_as 字段的 drop-down 中显示的值将是 'Open' 和 'Closed',但这些不是该字段的实际值。您的 mark_as 字段是一个 BooleanField,因此它只能具有值 True 或 False。我很惊讶你没有得到错误而不是在 HTML.
中输出空白
试试这个:
def dashboard(request):
total_issues = Issue.objects.all().count()
open_issues = Issue.objects.filter(mark_as=True).count() # CHANGED
closed_issues = Issue.objects.filter(mark_as=False).count() # CHANGED
context = {'ordered_issues': ordered_issues,
'total_issues': total_issues,
'open_issues': open_issues,
'closed_issues': closed_issues}
return render(request, 'issues/total_issues.html', context)
正在尝试获取要显示在主页上的对象总数。
这是我的代码
def dashboard(request):
total_issues = Issue.objects.all().count()
open_issues = Issue.objects.filter(mark_as='Open').count()
closed_issues = Issue.objects.filter(mark_as='Closed').count()
context = {'ordered_issues': ordered_issues,
'total_issues': total_issues,
'open_issues': open_issues,
'closed_issues': closed_issues}
return render(request, 'issues/total_issues.html', context)
和我的模特
class Issue(models.Model):
MARK_AS = ((True, 'Open'), (False, 'Closed'))
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
assignee = models.ForeignKey(Profile, on_delete=models.SET_NULL, null=True, blank=True)
mark_as = models.BooleanField(choices=MARK_AS, default=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('issue-detail', kwargs={'pk': self.pk})
没有输出
<div class="row">
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="total_issues">
<div class="card-header">
<h5 class="card-title">Total Issues</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{total_issues}}</h3>
</div>
</div>
</div>
</div>
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="open_issues">
<div class="card-header">
<h5 class="card-title">Open</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{open_issues}}</h3>
</div>
</div>
</div>
</div>
<div class="col">
<div class="col-md">
<div class="card text-center text-white mb-3" id="closed_issues">
<div class="card-header">
<h5 class="card-title">Closed</h5>
</div>
<div class="card-body">
<h3 class="card-title">{{closed_issues}}</h3>
</div>
</div>
</div>
</div>
</div>
我做错了什么?
忽略这部分 我写这篇文章是因为显然代码太多而细节不够
忽略这部分 我写这篇文章是因为显然代码太多而细节不够
忽略这部分 我写这篇文章是因为显然代码太多而细节不够
虽然 mark_as 字段的 drop-down 中显示的值将是 'Open' 和 'Closed',但这些不是该字段的实际值。您的 mark_as 字段是一个 BooleanField,因此它只能具有值 True 或 False。我很惊讶你没有得到错误而不是在 HTML.
中输出空白试试这个:
def dashboard(request):
total_issues = Issue.objects.all().count()
open_issues = Issue.objects.filter(mark_as=True).count() # CHANGED
closed_issues = Issue.objects.filter(mark_as=False).count() # CHANGED
context = {'ordered_issues': ordered_issues,
'total_issues': total_issues,
'open_issues': open_issues,
'closed_issues': closed_issues}
return render(request, 'issues/total_issues.html', context)