楷模:

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.

视图:

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'))

我得到这样的东西:

[{'item': 1, 'item__count': 2}, {'item': 2, 'item__count': 1}]

这很好,但我真正想要的是能够获得有关该项目的额外信息,例如其名称等。但我似乎无法轻易做到这一点,因为我得到的只是项目ID,所以我不能在我的模板中执行,例如,{{item.name}}。

这样做有什么好方法吗?

===============>>#1 票数:6 已采纳

这样做。 尝试:

Item.objects.filter(
    sale__sale_date=date.today()
).annotate(
    count = Count('sale')
)

===============>>#2 票数:3

当您关心从Item而不是Sale中获取额外数据时,您可以查询该类:

models.Item.objects.filter(sale__sale_date=date.today()).annotate(Count('id'))

这将返回ORM对象,而不是valuesvalues_list :您还将具有可用于该特定项目的销售计数的合成id__count属性。

或者,如果您提前知道您想要哪些字段,您也可以在values调用中明确命名它们,例如:

sales_today.values('item', 'item__name').annotate(Count('item'))

  ask by Tom Carrick translate from so

未解决问题?本站智能推荐:

2回复

Django Inline Formset-可以向后跟随外键关系吗?

我是django的新手,所以如果这个答案很明显,我深表歉意。 假设您有以下三种模型: 内联表单集如下所示: 是否可以向后跟随“模板”表单集的“产品”外键,以便可以在同一表中显示plu和description字段? 例如这样的事情: 表单集的字段与上面的html
1回复

Django-将外键跟随到另一个外键

我正在尝试加快模型的查找速度。 我有3个模型。 最重要的是,sett有一个称为setid的主键,该主键为: data_parsed和unique_variables具有要设置的外键 data_parsed:300万行 unique_variables:1300万行
2回复

Django外键关系

我最近开始使用Python和Django来制作网站,但遇到了一个我无法解决的问题。 您可以肯定,这是由于我完全没有经验,而我却忽略了一些简单的事情或做了一些愚蠢的事情,但是哦。 在我的网站上,我有一个页面来显示有关食谱的详细信息(说明,成分,说明等)。 我正在这样显示: 到
1回复

django外键关系

models.py 这里对如何设计模型感到困惑。 每个用户可以完全属于一个集线器。一个集线器有一个领导者,许多excom和许多成员,所有这些都属于User。这些集线器是从管理端添加的。领导者可以接受来自excoms和成员的集线器加入请求。
1回复

Django Haystack外键关系

我有这样的模特: 我的搜索索引: 现在我想获得与Photo有关的GroupUpload的对象。 有了这个定义,我只得到GroupUpload中的Photo对象不相关的对象。 我检查过doc。 但还没有解决。
1回复

模板中的Django外键关系

我已经看到了一些如何在SO上执行此操作的示例,但是没有一个示例引导我迈向我渴望的荣耀。 这是我正在使用的字段: models.py views.py 模板/ details.html 这使我像应该的那样从库存表(3)中获得了列值 这根本没有输出。
1回复

django外键关系查找

鉴于以下型号: 我想基于给定的PostTag完成查找帖子。 因此,如果我有两个帖子,A和B,标记为“foo”,我希望能够查找带有该标签的所有帖子并获得帖子A和B。 我对图像的查询看起来如下所示: 关于从哪里开始实现这一目标的任何提示?
1回复

django聚合与外键如何工作?

我有一个模型: 我不明白下面的代码如何工作 这来自备忘单中的django官方文档。 https://docs.djangoproject.com/en/1.10/topics/db/aggregation/ 我想做的是计算Question.objects.filter(o
1回复

具有可编辑外键关系的Django Inlineformset

我正在尝试创建相关对象的表单集,其中关系本身也是可编辑字段。 假设我们有一个model.py,如下所示。 有没有一种好的Python方法,可以由某个作者创建所有书籍的表单集,并能够更改其中任何书籍的作者? 这将是修复外键关系中任何错误的特别有用的方法。 我的第一个直觉是in
1回复

django admin中的反转外键关系

我有两个具有简单一对多关系的类。 models.py 管理员 当我从django管理员编辑“ Bar”类时,我希望看到多行选择HTML标记中的每个Foo对象。 验证表单时,应该更新Foo和Bar之间的关系。 我怎样才能做到这一点 ?