楷模:
class Item(models.Model):
name = models.CharField(max_length=100)
# More stuff.
class Sale(models.Model):
sale_date = models.DateField(auto_now_add=True)
item = models.ForeignKey(Item)
# More stuff.
Run Code Online (Sandbox Code Playgroud)
视图:
class TodaySales(ListView):
# Stuff in here.
def get_queryset(self):
sales_today = Sale.objects.filter(sale_date=date.today())
return sales_today.values('item').annotate(Count('item'))
Run Code Online (Sandbox Code Playgroud)
我得到这样的东西:
[{'item': 1, 'item__count': 2}, {'item': 2, 'item__count': 1}]
Run Code Online (Sandbox Code Playgroud)
这很好,但我真正想要的是能够获得有关该项目的额外信息,例如其名称等.但我似乎无法轻易做到这一点,因为我得到的只是项目ID,所以我不能在我的模板中执行,例如,{{item.name}}.
这样做有什么好方法吗?
这样做.尝试:
Item.objects.filter(
sale__sale_date=date.today()
).annotate(
count = Count('sale')
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3614 次 |
| 最近记录: |