在我的 Tastypie 资源中,我正在注释我的查询集,但我没有看到该注释流向 JSON Tastypie 生成并传回。代码很简单:
class CompetitionResource(ModelResource):
total_tickets = fields.IntegerField(readonly=True)
class Meta:
queryset = Competition.objects.all().annotate(total_tickets=Count('ticket__ticketownership__user__id', distinct=True))
我在查询集中生成和注释的那个计数根本不会出现在最终的 JSON 中。最终的 JSON 有一个 total_users 字段(因为我在 ModelResource 中声明了一个),但它为空。我是否遗漏了任何明显的东西来确保通过这样的注释?如果没有,有什么方法可以解决这个问题?
一种方法是在我的模型中创建一个属性,然后将我的 ModelResource 中的 total_users 字段绑定到该属性。但这可能会导致我从数据库中提取的每个竞赛的计数查询,这并不好。我想在一个注释类型的查询中做到这一点。