我有一个QuerySet,我在其中注释了日期字段,并且工作得很好。请参阅下面的代码。
tenderSet = userTenders.annotate(d_assigned=TruncDay('date_assigned')).values('d_assigned').annotate(c=Count('id')).values('d_assigned', 'c').order_by("-d_assigned")
我的问题是我希望能够单击图像中的链接并查看实际对象。例如,如果单击上图中显示“ 2投标”的链接,我希望可以访问与该注释关联的“投标”对象。但是不幸的是,由于我上面的注释返回了“字典”的QuerySet,因此我无法访问模型对象。我需要知道是否有一种方法可以保留上面的listView的外观,并且仍然能够访问带注释的投标对象。
谢谢。
答案 0 :(得分:0)
您想访问所有对象吗?
然后,您必须将一些参数传递给页面,以便可以在那里进行准确的注释。
在您的示例中,您可以传递日期并在视图中对其进行过滤。
会是这样的:
您的页面网址:something.com/pagename/?date=some-date
或:something.com/year/month/day/
然后在您的视图中可以过滤该日期的查询集:
tenderSet = userTenders.filter(date=<The Date You Got from URL>)
现在,您将拥有该日期的所有对象,因此您可以重复注释或任何想要的操作。
基本上,每当您需要一个用于某些过滤器的页面时,都需要从页面url获取过滤参数。